我在OpenCV2.3.1和visual C ++中有一个汽车检测项目。
在前景分割中,由于光照而产生反射。 而这(反射)成为背景之后的前景的一部分 已被删除。
我需要有关如何消除这种噪音的建议或想法。因为它会导致一些 前景对象作为一个对象连接起来,就像使用时看到的一样 findContours和drawContours函数。查看以红色突出显示的图像部分 在附图上。我认为这将简化blob检测阶段。
*注意 - 我不允许在OpenCV中使用内置的cvBlobLib
答案 0 :(得分:4)
这里的问题是眩光的一部分可以是背景或相应的汽车。
这是我要做的。
我相信identifying glare parts by binarizing and thresholding or in a similar way.
你不会遇到大问题一旦识别出所有像素的眩光,我就会用图像同一行中最近的非眩光像素替换每个眩光像素。这样,眩光将充满汽车和背景。使用这种方法,您就可以毫无问题地检测汽车。
答案 1 :(得分:2)
可能尝试将图像转换为HSV,然后过滤高V值
IplImage imgHSV = cvCreateImage(cvGetSize(imgInput), 8, 3);
IplImage imgThreshold = cvCreateImage(cvGetSize(imgHSV), 8, 1);
cvInRangeS(imgHSV, cvScalar(0, 0, 90, 0), cvScalar(0, 0, 100, 0), imgThreshold);
..根据需要调整标量以消除眩光