【问题标题】:Detect shapes based on their equations in an image in MATLAB在 MATLAB 中根据图像中的方程检测形状
【发布时间】:2014-09-16 09:40:27
【问题描述】:

编辑:可以检测三角形、矩形/正方形或任何其他具有尖锐边缘的物体,但我不知道如何检测螺旋。

是否可以根据形状的一般方程检测不同的形状。例如,如果我给出一个圆形/矩形/三角形/螺旋形或任何其他形状的一般方程,是否可以在图像中检测到该形状?

例如,如果我给出形状的一般方程,它应该检测图像中的形状。 更准确地定义问题:如果我给出一个三角形的一般方程,它应该检测三角形并标记它。

这是一个示例输入图像。

我知道使用一些形态分析和边缘检测非常容易,但是我必须使用曲线拟合,但我不知道如何开始,谁能提供一个请算法或sn-p。

【问题讨论】:

    标签: matlab math image-processing detection curve-fitting


    【解决方案1】:

    您可以使用图像处理工具箱中的hough() 函数进行线检测,并使用imfindcircles() 进行圆检测。

    或者,您可以解决这个问题:首先通过某种方式检测感兴趣的对象,例如。 G。通过颜色,然后尝试识别它们的形状。 regionprops() 函数可以为您计算许多不同的形状特征。

    如果一切都失败了,你可以自己写Generalized Hough Transform

    【讨论】:

    • 感谢您的解决方案,但我需要通过曲线拟合来做到这一点。问题陈述是根据给定的一般方程检测形状。
    • 您仍然可以检测感兴趣的对象,使用bwtraceboundary 获取它们的边界像素,然后使用曲线拟合来查看最适合的形状类型。
    • 上述图像是理想的图像,如果使用矩形或螺旋或椭圆的一般方程来检测火柴盒或鸡蛋旋风等类似物体怎么办? (供他人使用)
    • 在这种情况下,您将不得不实现自己的广义霍夫变换。 en.wikipedia.org/wiki/Generalised_Hough_transform
    猜你喜欢
    • 2015-12-24
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多