【问题标题】:How do we remove illumination noise?我们如何去除照明噪声?
【发布时间】:2012-10-10 23:47:59
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    这里的问题是眩光的一部分可以是背景或相应的汽车。

    这就是我要做的。

    相信identifying glare parts by binarizing and thresholding or in a similar way.你不会有什么大问题

    一旦识别出所有眩光像素,我将用图像同一行中最近的非眩光像素替换每个眩光像素。这样,汽车和背景就会充满眩光。使用这种方法,您将能够毫无问题地检测汽车。

    【讨论】:

    • 我猜你描述的是Inpaiting算法的应用。我认为 Inpaiting 算法仍然不适用于已发布版本的 OpenCV,但我知道他们正在研究它。
    • 我认为算法实现起来并不难。
    【解决方案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);
    

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

    【讨论】:

    • 识别眩光没什么大不了的,但如何填充那部分是一个真正的好问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    相关资源
    最近更新 更多