因为我想跟踪物体的运动,所以我需要图像序列的轮廓。
有人知道怎么做这个吗?
轮廓蒙版是一个二值图像,在运动发生处具有非零像素
您可以使用以下技术背景扣除。这里有两种方法。
- 从当前帧中减去前一帧。只有两个帧中未发生变化的像素才会导致零。看cvSub http://opencv.willowgarage.com/documentation/c/core_operations_on_arrays.html#sub, 简历绝对差异 http://opencv.willowgarage.com/documentation/c/core_operations_on_arrays.html#absdiff.
- 维持一个运行平均值的视频帧。查看功能CV运行平均值 http://opencv.willowgarage.com/documentation/c/imgproc_motion_analysis_and_object_tracking.html#runningavg in the 运动分析和对象跟踪 http://opencv.willowgarage.com/documentation/c/imgproc_motion_analysis_and_object_tracking.htmlOpenCV 文档的部分。对于每个新帧,从当前帧中减去运行平均值。完成后,用当前帧更新运行平均值。
使用上述方法之一后,您可以使用以下方法分割生成的差异图像CV阈值 http://opencv.willowgarage.com/documentation/c/imgproc_miscellaneous_image_transformations.html#threshold or cv 自适应阈值 http://opencv.willowgarage.com/documentation/c/imgproc_miscellaneous_image_transformations.html#adaptivethreshold。这将生成二值图像,理想情况下,图像静态时为零,存在运动时为 1 或 255。
尽管您在问题中没有提到这一点,但您可以继续计算二值图像的轮廓。有CV查找轮廓 http://opencv.willowgarage.com/documentation/c/imgproc_structural_analysis_and_shape_descriptors.html#findcontours为了那个原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)