我们如何消除照明噪音?

时间:2012-10-10 23:48:00

标签: visual-c++ image-processing opencv computer-vision

我在OpenCV2.3.1和visual C ++中有一个汽车检测项目。

在前景分割中,由于光照而产生反射。 而这(反射)成为背景之后的前景的一部分 已被删除。 enter image description here

我需要有关如何消除这种噪音的建议或想法。因为它会导致一些 前景对象作为一个对象连接起来,就像使用时看到的一样 findContours和drawContours函数。查看以红色突出显示的图像部分 在附图上。我认为这将简化blob检测阶段。

*注意 - 我不允许在OpenCV中使用内置的cvBlobLib

2 个答案:

答案 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);

..根据需要调整标量以消除眩光