检测存储在Mat图像opencv中的对象

时间:2012-08-24 10:09:32

标签: c++ opencv detection rectangles

我正在尝试使用C ++使用opencv和Visual Studio Ultimate检测对象。我遇到有关cv :: Mat的问题,我找不到任何使用那种变量进行对象检测的例子,只是用IplImage。我试图使用IplImage代码并将其转换为Mat,但它不起作用。但我不想使用IplImage,我的第一部分代码是在Mat中,我想继续使用它。

我正在尝试实际做的是在对其进行阈值处理后,检测从凸轮存储的图像中的BIGGEST矩形。

我已经完成了阈值部分,没关系,它可以工作,我可以在黑色背景中移动我的物体(白色)。

有人可以帮我跟踪部分吗?我在网上看到了一些blob过滤解决方案,但对我来说太难了!如果你能想出一个简单的,那就更好了。

谢谢你!

2 个答案:

答案 0 :(得分:0)

cv :: Mat是opencv中的新图像类。我认为大多数算法仍然使用IplImage。出于这个原因,我之前问过以下几点:

openCV mixing IplImage with cv::Mat

为了识别对象我会说看opencv的cvMatchTemplate函数。还有mat版cv :: matchTemplate。还有其他对象识别方法,但它们实现起来有点困难;)

我不知道我是否理解你的另一个问题,但我认为你想要识别图像中的矩形。也许看这个教程:

http://docs.opencv.org/trunk/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html

我不知道矩形的任何标准算法,您可能需要自己编码

答案 1 :(得分:0)

cv :: Mat封装了较低级别的IplImage和其他格式。关于检测,您可以找到一个有用的示例:squares。我搜索了它,并发现this其他问题,这是最新的,可能对你感兴趣。