标注并显示结果
在这一步中,脚本通过在检测到的小鸟区域周围绘制矩形并显示其位置,对每一帧进行标注和显示。
## 在小鸟周围绘制矩形
left, top = max_loc
right, bottom = left + bird.shape[1], top + bird.shape[0]
cv2.rectangle(im, (left, top), (right, bottom), 255, 2)
## 添加位置的文本注释
position_text = f"位置:({left}, {top})"
cv2.putText(im, position_text, (left, top), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 1)
## 显示图像
cv2.imshow('小鸟检测', im)
## 按下 'q' 键时退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
在小鸟周围绘制矩形:
cv2.rectangle(im, (left, top), (right, bottom), 255, 2)
:此函数在帧上绘制一个矩形。
- 参数
(left, top)
和(right, bottom)
定义了矩形的左上角和右下角。
255
设置矩形的颜色(在这种情况下为白色)。
2
是矩形线条的粗细。
添加文本注释:
cv2.putText
:此函数在帧上放置文本。
- 它显示小鸟在帧中的位置。
position_text
是要显示的文本,显示检测到的小鸟区域的左上角。
- 文本显示的位置设置为
(left, top)
,即矩形的左上角。
cv2.FONT_HERSHEY_SIMPLEX
、0.5
、(255, 255, 255), 1
设置文本的字体样式、大小、颜色(白色)和粗细。
显示图像:
cv2.imshow('小鸟检测', im)
:此函数显示带有矩形和文本注释的当前帧。
cv2.waitKey(1) & 0xFF == ord('q')
:这一行允许脚本短时间显示帧,并等待按下'q'键退出循环。这实现了带有注释的实时视频播放。
实时标注和显示结果对于可视化小鸟检测过程的有效性至关重要。它让用户能够看到检测的实际效果并验证其准确性。