请帮我写一些opencv手动绘制txt检测框的代码
时间: 2024-02-23 14:03:18 浏览: 18
以下是使用OpenCV手动绘制文本检测框的代码示例:
```python
import cv2
# 定义全局变量
drawing = False
ix, iy = -1, -1
bbox = []
# 鼠标回调函数
def draw_bbox(event, x, y, flags, param):
global ix, iy, drawing, bbox
if event == cv2.EVENT_LBUTTONDOWN:
drawing = True
ix, iy = x, y
elif event == cv2.EVENT_MOUSEMOVE:
if drawing:
cv2.rectangle(img, (ix, iy), (x, y), (0, 255, 0), 2)
elif event == cv2.EVENT_LBUTTONUP:
drawing = False
bbox.append([ix, iy, x, y])
cv2.rectangle(img, (ix, iy), (x, y), (0, 255, 0), 2)
# 加载测试图片
img_path = 'path/to/image.jpg'
img = cv2.imread(img_path)
# 创建窗口并绑定鼠标回调函数
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw_bbox)
# 显示图片并等待用户绘制检测框
while True:
cv2.imshow('image', img)
key = cv2.waitKey(1) & 0xFF
if key == ord('q'):
break
# 在检测框上显示标签
for i, box in enumerate(bbox):
x1, y1, x2, y2 = box
label = 'text'
cv2.putText(img, label, (x1, y1 - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 显示结果
cv2.imshow('result', img)
cv2.waitKey(0)
```
运行代码后,会显示一张图片,用户可以使用鼠标在图片上绘制检测框。绘制完成后,按下`q`键结束程序。最后在检测框上显示标签,并显示结果。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)