double CmpPic(char *pic1,char *pic2)
{
IplImage *Image1=cvLoadImage(pic1, 0);
IplImage *Image2=cvLoadImage(pic2, 0);
if(Image1==NULL)
{
printf("program cannot load the first picture!\n");
return 0;
}
if(Image2==NULL)
{
printf("program cannot load the second picture!\n");
return 0;
}
//创建直方图
CvHistogram *Histogram1=cvCreateHist(1,&HistogramBins,CV_HIST_SPARSE,HistogramRange);
CvHistogram *Histogram2=cvCreateHist(1,&HistogramBins,CV_HIST_SPARSE,HistogramRange);
//计算直方图
cvCalcHist(&Image1,Histogram1);
cvCalcHist(&Image2,Histogram2);
//归一化直方图
cvNormalizeHist(Histogram1,1);
cvNormalizeHist(Histogram2,1);
return cvCompareHist(Histogram1,Histogram2,CV_COMP_CORREL);
}
使用opencv比较两个图片的相似性
最新推荐文章于 2025-02-14 14:43:38 发布
本文介绍了一种基于直方图的图片相似度比较方法。该方法首先加载两张图片,然后创建并计算它们的直方图,并进行归一化处理。最后通过比较两个归一化后的直方图来确定图片之间的相似度。
1472

被折叠的 条评论
为什么被折叠?



