opencv 图片中画框标注中文
时间: 2023-09-30 13:02:38 浏览: 134
要在 OpenCV 图片中画框并标注中文,可以使用以下步骤:
1. 导入所需的库和模块:
```python
import cv2
import numpy as np
from PIL import ImageFont, ImageDraw, Image
```
2. 读取图片并绘制矩形框:
```python
img = cv2.imread('image.jpg')
cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
```
这里的 `(x1, y1)` 和 `(x2, y2)` 分别是矩形框的左上角和右下角坐标。
3. 使用 Pillow 库中的 ImageFont、ImageDraw 模块绘制中文标注:
```python
# 将 OpenCV 图像转换为 Pillow 图像
img_pil = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
# 设置字体
font_path = 'SimHei.ttf' # 指定字体文件路径
font = ImageFont.truetype(font_path, 16)
# 新建绘图对象
draw = ImageDraw.Draw(img_pil)
# 绘制中文标注
draw.text((x1, y1 - 20), '标注文字', font=font, fill=(0, 255, 0))
# 将 Pillow 图像转换回 OpenCV 图像
img = cv2.cvtColor(np.array(img_pil), cv2.COLOR_RGB2BGR)
```
这里的 `(x1, y1 - 20)` 是标注文字的左下角坐标,`-20` 是为了将文字向上偏移一些,避免与矩形框重叠。
最后,使用 `cv2.imshow()` 显示图片即可:
```python
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文