【问题标题】:detect horizontal and vertical edges opencv检测水平和垂直边缘opencv
【发布时间】:2015-04-24 10:10:05
【问题描述】:

我尝试检测图像中非常清晰的边缘。我用 opencv(houghlines, sobel, laplace) 尝试了不同的解决方案。但是使用所有这些算法我没有得到我想要的结果。

这是检测线条的图像。红线显示我想要检测的边缘。

右上角的图片是演示者的视频 左侧显示演示文稿。也可能有一些边缘。 (例如,当演示文稿中有带框的图片时)

您将如何进行边缘检测? 我确实需要垂直边缘的 x 坐标和水平边缘的 y 坐标。

感谢您的帮助

【问题讨论】:

  • 原始图像中是否存在红线?如果没有,能否请您添加原图?
  • 源图:imgur.com/gspZR43我模糊了演示者的个人信息。
  • 为什么需要检测边缘?他们不是恒定的吗?即,如果您只是对裁剪视频所需的值进行硬编码还不够吗?
  • 遗憾的是,演讲者图像的大小可能会因视频而异。有时是 16:9 或 4:3 或整个右侧(说话人图像和绿色区域一起可以是说话人图像 --> 9:16)
  • 尝试将图像转换为黑白图像。并使用 findcontours

标签: c++ opencv edge-detection


【解决方案1】:

右下角(绿色)方块似乎是不变的。因此,您可以检测连接的组件并获取左上角的像素,然后就完成了。那个方格还能有别的东西吗?

【讨论】:

  • 连接组件到底是什么意思?大多数时候,正方形是一个同质区域。但有时该区域内可能会有文本(例如演示文稿的议程要点)
  • 不完全同质也没关系,背景(例如边框)具有相同的颜色。检查此连接的组件说明。 homepages.inf.ed.ac.uk/rbf/HIPR2/label.htm
  • 我到现在都没有时间。希望在下周。我做了一个快速的解决方法,并将我通过 gimp 找到的坐标作为参数提供给函数。希望它会在未来自动工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-06
  • 2015-04-24
  • 2012-11-19
  • 2013-02-17
  • 1970-01-01
相关资源
最近更新 更多