我正在研究图像处理识别某些物体的可能性,并在图像中对它们进行计数.
我将获得一张照片,我需要确定该图像中存在的方框数量.
是否有人有类似的ImageJ,斐济,JAI,jMagick,Java的视觉工具包的任何机器视觉/图像处理库的经验吗?你认为哪个最适合这份工作?你们有什么建议?如果可以从Java使用API,那就更好了.谢谢.
编辑:我正在处理仓库棕色盒子.是的我说的是普通照片.来源通常是手机图片.
编辑2:对不起,答案得到了自动选择.:(
我从未使用过您列出的库,但我使用过OpenCV.
OpenCV是一个支持良好且经过验证的计算机视觉库.它内置了一些功能来计算图像中原始形状的数量.它是用C++编写的,但您可以创建一个通过JNI调用的小包装器.
RoboRealm是机器人爱好者使用的另一种经过验证的计算机视觉系统.它是一种使用基于套接字的控制API的闭源商业产品.
http://opencv.willowgarage.com/wiki/FullOpenCVWiki
http://www.roborealm.com/index.php
如果你必须坚持使用Java,你仍然可以使用OpenCV.
如果它只是盒子,你可以使用Hough Transforms来检测它们.
您可以使用OpenSURF根据您提供给它的源图像来检测手机.
在你的情况下,不要认为这是可行的:HAAR Cascades.您可以创建自定义HAAR分类器,但培训过程可能非常耗时.
HTH,乔治
在Java中,有几个项目扩展了Java Advanced Imaging API以提供计算机视觉:
JavaVis
java + IPJ中的图像处理 - JAI的计算机视觉扩展
Java Vision Toolkit - JVT(编辑:opps,问题中提到了这一点.)
JavaVis 有一篇论文介绍了库,比较和约束了这两个提到的库.
JavaVis具有以下功能:
处理2D和3D图像(在这种情况下3D最相关)
具有用于检查潜在结果的GUI
Matlab图像导出
对于java也是NeatVision.与其他文档不同,此项目的文档清晰可见.
这些项目都不会为您提供简单的交钥匙解决方案.您需要了解计算机视觉的工作原理,并在照片上创建一系列处理步骤,以帮助您从视觉算法中获得最佳结果.为此,JavaV可能是最有用的,因为它旨在教授计算机视觉.
如果您不是在谈论实时图像处理,您可以为Amazon Mechanical Turk编写API .