从opencv对象跟踪器KCF中提取cv2.rectangle的坐标的方法如下:
以下是一个示例代码:
import cv2
# 创建KCF对象跟踪器
tracker = cv2.TrackerKCF_create()
# 读取视频或摄像头的第一帧
video = cv2.VideoCapture(0)
ret, frame = video.read()
# 初始化跟踪器
bbox = cv2.selectROI(frame, False)
tracker.init(frame, bbox)
while True:
# 读取当前帧
ret, frame = video.read()
# 更新跟踪器
success, bbox = tracker.update(frame)
if success:
# 提取边界框的坐标
x, y, w, h = int(bbox[0]), int(bbox[1]), int(bbox[2]), int(bbox[3])
# 绘制边界框
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
# 显示带有边界框的图像
cv2.imshow("Tracking", frame)
# 按下ESC键退出循环
if cv2.waitKey(1) == 27:
break
# 释放视频或摄像头资源
video.release()
cv2.destroyAllWindows()
在上述代码中,我们使用了cv2.selectROI()函数来手动选择初始边界框。你也可以根据实际需求自行修改代码。
领取专属 10元无门槛券
手把手带您无忧上云