首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >光照对边缘检测的影响

光照对边缘检测的影响
EN

Stack Overflow用户
提问于 2017-03-07 03:23:09
回答 2查看 1.6K关注 0票数 1

我有一个灰度的原始图像:

我想检测物体的边缘。然而,边缘附近的光照对其有影响。这就是我在高斯模糊和Canny边缘检测之后得到的结果:

这是我的密码:

代码语言:javascript
复制
    cv::cvtColor(imgOriginal, imgGrayscale, CV_BGR2GRAY);       // convert to grayscale

    cv::GaussianBlur(crop,                  // input image
        imgBlurred,                         // output image
        cv::Size(5, 5),                     // smoothing window width and height in pixels
        5);                                 // sigma value, determines how much the image will be blurred

    cv::Canny(imgBlurred,           // input image
        imgCanny,                   // output image
        0,                          // low threshold
        100);                       // high threshold

光源在物体下面。物体边缘的照明来自光源或光的反射。他们总是在同一个地方。

照明也被检测为边缘。我尝试过其他几种方法,例如连接组件标记和用示例代码对图像进行二值化(这里是初学者),但都是有用的。有没有检测干净边缘照明的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-08 08:22:42

背景光补丁可以使用一些具有相当大内核的冲蚀来移除,因为对象比光补丁要大得多。

您可以尝试的另一个常见技术是使用距离变换+分水岭。距离转换可能会返回对象内部的返回点(因为该对象几乎没有黑暗区域)。分水岭将试图找到与确认点相连接的区域(通过比较梯度)。如果距离变换给出对象内的多个点,则可能需要在分水岭之后组合多个区域。

票数 1
EN

Stack Overflow用户

发布于 2017-03-08 07:12:29

要彻底解决这个问题是不可能的。边缘检测器能检测到的是由物体边缘引起的强度变化。考虑到你在那里的照明,照明引起的变化是相当突出的。

我建议有两种方法来解决这个问题:

  1. 调整照明,如果你能得到正确的照明解决50%的计算机视觉问题。
  2. 使用任何关于图像,背景或照明的知识,以消除不必要的边缘。如果相机是静止的,背景减法可以去除背景造成的边缘。如果你知道物体的形状、颜色等,你就可以去掉不适合物体的边缘。如果很难确定物体的确切属性,你也可以用许多照片训练机器学习系统来分割图像。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42639606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档