好久没来CSDN了,还是写博客的岁月更加充实。这次开个新的专栏【好玩的计算机视觉】,打算做一些从入门到进阶过程中好玩的程序分享给大家,抛砖引玉。因为计算机视觉和摄像头分不开,所以以后这个专题标配一个demo视频。因为我喜欢B站的弹幕和没有广告,所以视频都发在bilibili上,非常欢迎大家用弹幕和我交流分享点子哈:-)
这次做一个跟踪涂鸦,就是先确定一个物体,用最小的圆跟踪它从而获得圆心,用这个圆心在屏幕上画图。使用OpenCV 3和Python 3。
1. 选取物体
我们可以用OpenCV的cv2.setMouseCallback方法使用鼠标,点击图像中你感兴趣的物体,就会在终端输出HSV颜色值。比如我在视频中用的乒乓球,我会尽量在乒乓球上多选取一些点,从而得知一个乒乓球HSV颜色空间的大概范围,从而把乒乓球从背景中剥离。HSV颜色空间非别是:Hue色度, Saturation饱和度, Value明度。如下图:
我在程序中是选取金黄色物体:
lowerYellow = np.array([14,110,150])
upperYellow = np.array([35,255,255])
在HSV颜色空间中,色度是0-360,但在OpenCV程序中,色度是0-180,所以上图压缩成180°的半圆柱就是对应程序中的取值范围。然后用:
mask = cv2.inRange(hsv, lowerYellow, upper

本文介绍了如何使用OpenCV和Python进行物体跟踪及屏幕涂鸦的实现。通过鼠标选取物体,获取HSV颜色值,用最小圆进行物体跟踪,并在屏幕上实时画图。作者提供了一个追踪乒乓球的示例,演示了从HSV颜色空间中分离物体的过程,并分享了Demo视频链接和完整代码仓库。

1万+

被折叠的 条评论
为什么被折叠?



