2014-10-27 122 views
3

我还没有在这里或谷歌上找到任何东西。我正在寻找一种方法来从图像文件中识别形状(圆形,方形,三角形和各种其他形状)。一些例子:使用Java&BoofCV检测图像文件中的形状

filled circleunfilled trianglecrossesquadrant filled squaremultiple shapesmultiple shapes pac

你得到的总体思路。不确定BoofCV是否是这里的最佳选择,但它看起来应该足够直接使用,但我对此一无所知。我已经看过一些例子,但是在我进入头脑之前(这一天不难做),我想我会问是否有任何信息。

我正在学习基于知识的AI解决Ravens Progressive Matrix问题,最终作业将使用严格基于视觉的图像,而不是带有属性的文本文件。我们没有在视觉上评分,因为我们只有几个星期的时间来完成项目的这一部分,我们鼓励分享这些信息。特种部队一直是我去寻求信息来源,我希望有人可能有一些想法从哪里开始...

基本上我想要做的是检测形状(??转换他们转换成二维几何图形),然后对大小,填充,放置等属性做一些假设,创建一个包含这些属性的文本文件,然后使用它,通过我为我的其他项目编写的现有代码发送它来解决问题。

任何建议????

回答

1

有很多方法可以做到这一点。一种方法是找到形状的轮廓,然后适合一个多边形或椭圆形。如果你想要一个多边形,并且有四条长度几乎相等的边,那么它就是一个正方形。轮廓可以用二进制斑点(我对上述图像的推荐)或Canny边缘找到。

http://boofcv.org/index.php?title=Example_Fit_Polygon http://boofcv.org/index.php?title=Example_Fit_Ellipse

+0

我终于有机会检查出的例子,我相信这正是我所期待的。 – jbolt 2014-11-02 22:31:38