皮质颜色检测的几个问题(VS2010/OpenCV)

1,汽车皮质包覆检测的基本思路是,先对不同位置、不同颜色、皮质的包覆进行模板采样,然后针对性做检测;

2,检测分三步:(1)首先看灰度均值的差异值,这个可以设个固定阈值;

                               (2)其次看梯度均值的差异值,在实际中发现同一批次的不同颜色皮料的梯度均值浮动是不相同的,亮颜色的浮动值大,暗颜色的浮动值小,因此这就导致无法针对不同颜色的皮质使用同一个阈值,想到的一个解决方法是计算梯度均值变化率,即:

        Mat src1 = imread("station7_color1_material2.jpg");
	Mat src2 = imread("station7_color0_material2.jpg");
	Mat gray, grayT,gradient,gradientT;
	double gradientMeanT,gradientMean;
	double grayMeanT,grayMean;
	cvtColor( src1,grayT,CV_RGB2GRAY );
	Sobel( grayT,gradientT,CV_16SC1,1,0,5);
	cvtColor( src2,gray,CV_RGB2GRAY );
	Sobel( gray,gradient,CV_16SC1,1,0,5);
	gradientMeanT = sum( abs(gradientT) ).val[0]/double(grayT.rows)/double(grayT.cols);
	gradientMean = sum( abs(gradient) ).val[0]/double(gray.rows)/double(gray.cols);
	double gradientDiffRatio = abs( gradientMeanT-gradientMean )/min(gradientMean,gradientMeanT);

这样,同一种皮质的梯度变化率是能够得到一个经验值的,可作为皮质种类的判断依据;

3,HSV颜色直方图比较

       可以参考  http://www.cnblogs.com/slysky/archive/2011/10/13/2210745.html

      其中计算发现,使用EMD的方法计算直方图匹配值,最小值是0,但是不匹配时的值很可能大于1,而且常常是大于1的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值