基于OpenCV的计算机视觉高级应用
1. 基于颜色的实时跟踪
在计算机视觉中,基于颜色进行实时跟踪是一项实用的技术。在HSV(色调、饱和度、亮度)格式下,识别颜色范围会更加容易。若要跟踪特定颜色的物体,需在HSV中定义颜色范围,将捕获的图像转换为HSV格式,然后检查图像的部分是否在我们感兴趣的HSV颜色范围内。
1.1 单颜色跟踪代码实现
import numpy as np
import cv2
cam = cv2.VideoCapture(0)
while (True):
ret, frame = cam.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
image_mask = cv2.inRange(hsv, np.array([40, 50, 50]), np.array([80, 255, 255]))
output = cv2.bitwise_and(frame, frame, mask = image_mask)
cv2.imshow('Original', frame)
cv2.imshow('Output', output)
if cv2.waitKey(1) == 27:
break
cv2.destroyAllWindows()
cam.release()
此代码用于跟踪绿色物体。若要查看掩码图像,可在代码中添加 cv2.imshow('Image Mask',image_mask)
,它将是一个二