opencv颜色识别追踪python
时间: 2023-09-24 17:13:33 浏览: 116
你好!对于使用OpenCV进行颜色识别和追踪,你可以使用Python来完成。下面是一个简单的示例代码,用于识别和追踪指定颜的物体:
```python
import cv2
import numpy as np
def color_tracking():
cap = cv2.VideoCapture(0) # 打开摄像头
while True:
_, frame = cap.read() # 读取视频帧
hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # 将BGR图像转换为HSV图像
# 设定要追踪的颜色范围(这里以蓝色为例)
lower_blue = np.array([110, 50, 50])
upper_blue = np.array([130, 255, 255])
# 根据阈值对图像进行二值化处理,只保留指定颜色区域
mask = cv2.inRange(hsv_frame, lower_blue, upper_blue)
# 对二值化图像进行腐蚀和膨胀处理,去除噪声
mask = cv2.erode(mask, None, iterations=2)
mask = cv2.dilate(mask, None, iterations=2)
# 寻找物体的轮廓
contours, _ = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 如果找到轮廓,则选择最大的轮廓作为追踪目标
if len(contours) > 0:
target_contour = max(contours, key=cv2.contourArea)
x, y, w, h = cv2.boundingRect(target_contour)
# 在视频帧上标记出目标位置
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 3)
阅读全文