0

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

我实际上要做的是在对其进行阈值处理后检测从凸轮存储的图像中最大的矩形。

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

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

谢谢你!

4

2 回答 2

0

cv::Mat 封装了较低级别的 IplImage 和其他格式。关于检测,有一个您会发现有用的示例:squares。我用谷歌搜索了它,还发现另一个问题,它是最近的,你可能会感兴趣。

于 2012-08-24T14:08:48.610 回答
0

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

openCV 将 IplImage 与 cv::Mat 混合

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

我不知道我是否正确理解了您的其他问题,但我认为您想识别图像中的矩形。也许看这个教程:

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

我不知道矩形的任何标准算法也许你需要自己编码

于 2012-08-24T12:44:19.417 回答