Java中的对象检测/跟踪

时间:2010-10-11 18:43:42

标签: java image-processing object-detection

我希望用Java做一些图像处理,我将使用Eclipse在Ubuntu中进行开发。 所以这是我的目标:

从灰度图像中,我希望能够检测到某些大小的物体,并在它们周围绘制一个矩形框架。然而,问题在于该图像是从热成像相机捕获的,因此为了检测体热,像素将具有在一定范围内的值。 在检测到图像中的所有对象之后,我将需要对它们进行计数,但这是后来的。

所以这是我的挑战。我可以用哪些工具/ apis / open类来做这样的事情。我环顾四周,发现了一些基本的操作,如旋转,裁剪,调整大小。但是我还没找到任何可以使用的东西。

我应该在哪里看/开始?

提前多多感谢

3 个答案:

答案 0 :(得分:3)

ImageJ非常有用: http://rsbweb.nih.gov/ij/

虽然ImageJ设置为GUI,但您也可以将其用作库(我也这样做)

你必须搜索一个正确的对象检测插件(但有一些浮动......)

祝你好运! Eelco

答案 1 :(得分:1)

在此页面上,您可以找到用于图像处理和图像挖掘的开源工具: http://spl.utko.feec.vutbr.cz/en/image-processing-extension-for-rapidminer-5

答案 2 :(得分:0)

This article fully explains您正在寻找的算法,以及the accompanying source code is here。你可以see it in action in this video

(免责声明:我是作者;但我认为这非常有用,并且我自己也成功地使用了这个算法。)

该算法跟踪移动对象,找到它们的边界矩形(应用程序绘制),计算每个对象中的像素数,将它们作为同一对象(具有int ID)在整个帧中关联。您可能需要将灰度图像转换为RGB(通过将灰度值复制到所有三个通道),因为算法是为颜色输入而设计的。

在商业计算机视觉应用方面,OpenCVPoint Cloud Library aka PCL是您最好的朋友。像链接这样的文章解释了如何使用像OpenCV这样的工具来完成完整的堆栈运动跟踪。 (纯Java实现显示了它如何适用于各个像素。)