visual-c++ - 计算二值图像中的前景对象

标签 visual-c++ image-processing opencv computer-vision

我有一个图像序列(视频)。我想计算图像序列中对象的数量。但主要目标是对它们进行一次计数,这意味着不仅仅是在每一帧中,因为一个对象可能存在于多个帧中。我的想法是在物体退出屏幕时对它们进行计数,因为遮挡较少。我正在考虑通过扫描图像底部的非零像素来做到这一点。

我有一个 CV_FILLED 二进制图像(来自矩形函数),我想在其中进行扫描,然后如果找到 abject,则在对象上创建一个实例。但这种扫描不会扫描水平线上的每个像素,而只是扫描某些部分。

就像我们可以在范围内执行此操作,例如某些列,然后稍微跳过。

附上我的二进制图像示例 CV_FILLED binary image 。这是从 feed 中获取的图像。我不想只计算该图像中的物体,还要计算那些仍在出现的物体。

此处附有检测到的物体的完整图片。欢迎您的指导或建设性批评 * 我不想使用 CVBlob

最佳答案

如果您不想使用 cvBlobLib,您可以使用 OpenCV 的轮廓检测功能。

有教程on the website.

该方法的文档是 here 。你的图像看起来很简单,但如果你得到带有遮挡的 Blob ,那么你想查看 CV_RETR_EXTERNAL 常量以仅获取外部轮廓。

这就是我通常使用的方法,尽管需要做更多的工作才能使用该方法的结果。

希望这有帮助。

关于visual-c++ - 计算二值图像中的前景对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318197/

相关文章:

C++ 项目类型 : unicode vs multi-byte; pros and cons

visual-c++ - 在 VC++ 6 中创建新的连接点?

r - 使用 R 从十六进制颜色代码或 RGB 到颜色名称

opencv - "detecting object"opencv 的 HOG

c++ - 列出所有 N 位数字,包含 [string] 个数字

c++ - 在VS2010 Debug模式下启用多核编译?

python - 不能用 HSV 使黄色消失(OpenCV,Python)

c# - 计算 FFT 相关系数

opencv - 确定球面上数据的旋转

python - IP摄像机Python错误