如何使用opencv稳定视频流中的圆

How to stablize the circle from video stream using opencv?

本文关键字:视频 何使用 opencv      更新时间:2023-10-16

我已经开始使用OpenCV几天前,我的目标是检测一个圆圈和它的中心,我已经使用了hough变换,我使用分辨率640x480的网络摄像头,
它正在工作,但圆圈不断改变它的位置,为了更好地解释它,我在youtube上发布了一个屏幕截图https://www.youtube.com/watch?v=6EGePHkGrok
这是代码http://pastebin.com/zRG4Yfzy,是的,我知道它有点乱。
首先显示完整的视频,当相机稳定时按ESC,然后在ROI 250x250上开始处理。我添加了一些轨迹条来改变霍夫变换和模糊量的参数,改变模糊量并不能解决问题
如何稳定圈?摄像机也不会移动,所以不需要跟踪。或者我应该采用一种全新的方法来做这件事?
根据我的理解,我需要应用某种滤镜。
物体有许多圆形轮廓,但都有相同的中心,因此任何一个圆形轮廓都可以被检测到其精细度。

PS:我不是图像处理专家,我从各种网站和书籍中修补了代码

霍夫变换很容易出错。

对于你的情况,你可能会在你的图像中找到轮廓,并根据它们的圆度来过滤它们。

1 -灰度

2-低通滤波器(高斯模糊)

3-边缘检测

4-找到等高线并列出它们的区域。

5-在你的等高线上画最小的围圆。

6-选择与轮廓面积最接近的最小围圆面积的轮廓。

7-利用矩量F3型"质心"找到轮廓的质心