如何检测图像中的形状?

Posted

技术标签:

【中文标题】如何检测图像中的形状?【英文标题】:how to detect shapes in an image? 【发布时间】:2011-07-28 05:22:20 【问题描述】:

我想检测图像中的圆形、矩形对象并从该对象中读取信息。 java中是否有任何对我有帮助的api?

例如:检测白色背景中的圆形硬币并获取有关该硬币的信息(硬币的价值等)

谢谢。

【问题讨论】:

这是我在人工智能课程中所做的。我们做了类似的事情,比如检测图像中的#7、区分人脸等,但我们使用了 Python。或者也许使用 Canny 边缘检测算法? 【参考方案1】:

圆是 Hough 变换的完美目标。看看这个Detect circles with HT and OpenCV

矩形有点难,因为霍夫变换不是旋转不变的。你可以进入边缘检测和快速拟合(Fast line and rectangle detection by clustering and grouping)

【讨论】:

【参考方案2】:

这是针对 C++ 的类似问题的 answer。

对于 Java,您可以使用 OpenCV wrappers。但是,一旦您了解了该方法的本质,您应该能够使用任何可用的框架来解决您的问题。

【讨论】:

以上是关于如何检测图像中的形状?的主要内容,如果未能解决你的问题,请参考以下文章

教你如何使用 OpenCV检测图像中的轮廓

opencv 如何检测特定形状的物体

检测“位图”中的形状

使用 OpenCV 检测图像中已知形状/对象的方法

识别脊的几何形状

使用 SciKit 和 python 检测图像中的对象