b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

opencv灰度直方图均衡化_图像灰度直方图_opencv直方图均衡化mat

电脑杂谈  发布时间:2017-03-09 23:10:11  来源:网络整理

前面介绍了 数字图像灰度直方图,现在来尝试直方图的应用。

直方图的对比主要用以判断两幅图像的匹配度,我们试验以下两幅图像直方图对比的结果:

int main()
{
	IplImage * image= cvLoadImage("myhand1.jpg");
	IplImage * image2= cvLoadImage("myhand2.jpg");
	int hist_size=256;
	float range[] = {0,255};
	float* ranges[]={range};
	
	IplImage* gray_plane = cvCreateImage(cvGetSize(image),8,1);
	cvCvtColor(image,gray_plane,CV_BGR2GRAY);
	CvHistogram* gray_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
	cvCalcHist(&gray_plane,gray_hist,0,0);

	IplImage* gray_plane2 = cvCreateImage(cvGetSize(image2),8,1);
	cvCvtColor(image2,gray_plane2,CV_BGR2GRAY);
	CvHistogram* gray_hist2 = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
	cvCalcHist(&gray_plane2,gray_hist2,0,0);

	//相关:CV_COMP_CORREL    
	//卡方:CV_COMP_CHISQR
	//直方图相交:CV_COMP_INTERSECT
	//Bhattacharyya距离:CV_COMP_BHATTACHARYYA
	double  com=cvCompareHist(gray_hist,gray_hist2,CV_COMP_BHATTACHARYYA);

	cout<<com<<endl;
}

输出结果为:0.396814

cvCompareHist的结果为【0,1】的浮点数,越小表示两幅图匹配度越高,0.0时两幅图精确匹配。opencv灰度直方图均衡化(可以试验两幅完全一样的图即为0.0)。

针对上面两幅图,我们分别先进行直方图匹配变化:

之后使用cvCompareHist()对比两幅图像的直方图,输出结果为0.267421

表明两幅图的匹配度变高了。

注意method用不同的方法对比结果是不同的。opencv灰度直方图均衡化


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36729-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...