我在OpenCV2.3.1和Visual C++中有一个汽车检测项目。我们如何消除照明噪音?
在前景分割中,存在由于照明引起的反射。 这个(反射)在背景 已被删除后成为前景的一部分。
我需要关于如何消除噪音的建议或想法。因为它会导致一些前景对象被连接为一个对象,如使用 findContours和drawContours函数时所看到的。请参阅附件图像上以红色 突出显示的图像部分。我认为这将简化斑点检测阶段。
*注 - 根据需要,我不能使用内置cvBlobLib OpenCV中
我在OpenCV2.3.1和Visual C++中有一个汽车检测项目。我们如何消除照明噪音?
在前景分割中,存在由于照明引起的反射。 这个(反射)在背景 已被删除后成为前景的一部分。
我需要关于如何消除噪音的建议或想法。因为它会导致一些前景对象被连接为一个对象,如使用 findContours和drawContours函数时所看到的。请参阅附件图像上以红色 突出显示的图像部分。我认为这将简化斑点检测阶段。
*注 - 根据需要,我不能使用内置cvBlobLib OpenCV中
也许尝试将图像转换为HSV然后过滤高得五世达
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);
..adjust标量去除眩光
问题在这里是一部分的眩光可以是背景或相应的车。
这是我会做的。
,我相信你不会有identifying glare parts by binarizing and thresholding or in a similar way.
一旦确定刺眼的所有像素的一个大问题,我会与同一行的形象在最近的无眩光像素替换每个眩光像素。这样,眩光将充满汽车和背景。用这种方法,那么你将能够检测到没有太多问题的汽车。
我想你描述的是一个Inpaiting算法的应用。我认为Inpaiting算法仍然不适用于已发布版本的OpenCV,但我知道他们正在研究它。 –
我认为算法虽然不难实现。 –
识别眩光并不是什么大不了的事情,但如何填补这一部分是一个很好的问题。 –