如何检测二进制图像中的曲线?

Dev*_*per 16 matlab image-processing computer-vision

我有一个二进制图像,我想检测/跟踪该图像中的曲线.我什么都不知道(坐标,角度等).任何人都可以指导我如何开始?假设我有这个形象在此输入图像描述

我想分开曲线和其他线条.我只对曲线及其参数感兴趣.我想存储曲线的信息(在数组中)以后使用.

Joh*_*rth 15

这实际上取决于你对"曲线"的意思.

如果您只想将每个离散的像素集合标识为"曲线",则可以使用连通分量算法.每个组件对应于一组像素.然后,您可以应用一些测试来确定组件的线性或其他一些功能.

如果您正在寻找直线,圆形曲线或任何其他参数曲线,您可以使用霍夫变换来检测图像中的元素.

最好的方法实际上取决于您正在寻找的曲线,以及您需要的曲线信息.

参考链接:


Duc*_*erd -1

我不是计算机视觉专家,但我认为您可以使用一些基本的边缘检测算法(例如索贝尔滤波器)相对容易地检测二进制图像中的线条/曲线。

  • 由于投票否决你的人没有留下任何解释:边缘检测算法(例如索贝尔滤波器)实际上并不“检测”边缘,而是“加强”变化较大的区域(边缘),并“削弱”变化较小的区域。变化。之后,您可以通过应用某种阈值来“提取”边缘。结果将是一个二值图像。 (8认同)