python opencv 中文_Python OpenCV实现图片上输出中文
时间: 2023-12-03 11:45:04 浏览: 86
Python OpenCV可以通过PIL库实现在图片上输出中文。具体步骤如下:
1. 安装PIL库
```
pip install Pillow
```
2. 导入所需模块
```python
import cv2
from PIL import Image, ImageDraw, ImageFont
```
3. 加载图片并创建Image对象
```python
img = cv2.imread('image.jpg')
img_pil = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
```
4. 创建Draw对象并设置字体
```python
draw = ImageDraw.Draw(img_pil)
font = ImageFont.truetype('simsun.ttc', 20, encoding='utf-8')
```
其中,simsun.ttc是Windows系统自带的中文字体文件。
5. 绘制中文文本
```python
draw.text((50, 50), '你好,世界', font=font, fill=(255, 0, 0))
```
其中,(50, 50)是文本绘制的位置坐标,fill参数是文本颜色。
6. 将Image对象转回numpy数组格式
```python
img_cv2 = cv2.cvtColor(np.asarray(img_pil),cv2.COLOR_RGB2BGR)
```
7. 显示或保存图片
```python
cv2.imshow('image', img_cv2)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
完整代码如下:
```python
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
# 加载图片并创建Image对象
img = cv2.imread('image.jpg')
img_pil = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
# 创建Draw对象并设置字体
draw = ImageDraw.Draw(img_pil)
font = ImageFont.truetype('simsun.ttc', 20, encoding='utf-8')
# 绘制中文文本
draw.text((50, 50), '你好,世界', font=font, fill=(255, 0, 0))
# 将Image对象转回numpy数组格式
img_cv2 = cv2.cvtColor(np.asarray(img_pil),cv2.COLOR_RGB2BGR)
# 显示或保存图片
cv2.imshow('image', img_cv2)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行后,图片上将会出现一段中文文本。
阅读全文
相关推荐
















