使用cv2putText()函数在Python中给图像加上中文标签的方法
发布时间:2023-12-19 06:11:33
Python中使用cv2.putText()函数给图像加上中文标签的方法是:
1. 首先,确保你已经安装了cv2库。如果没有安装,可以使用以下命令进行安装:
pip install opencv-python
2. 导入所需的库:
import cv2 import numpy as np from PIL import ImageFont, ImageDraw, Image
3. 加载图像:
image = cv2.imread('image.jpg')
4. 转换图像颜色空间为RGB:
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
5. 将图像转换为PIL Image对象:
image_pil = Image.fromarray(image)
6. 创建一个ImageDraw对象:
draw = ImageDraw.Draw(image_pil)
7. 加载字体文件:
font = ImageFont.truetype('fonts/simhei.ttf', size=24)
注:在上述代码中,'fonts/simhei.ttf'为中文字体文件的路径,size为字体大小,在此处可根据需要进行调整。
8. 在图像上绘制中文标签:
draw.text((x, y), '中文标签', font=font, fill=(255, 0, 0))
注:在上述代码中,(x, y)为标签的左上角位置坐标,'中文标签'为要添加的中文标签内容,fill=(255, 0, 0)为字体颜色,可以根据需要进行调整。
9. 将PIL Image对象转换为OpenCV图像:
image_cv = cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR)
10. 显示图像:
cv2.imshow('Image with Chinese Label', image_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()
注:上述代码中,'Image with Chinese Label'为显示窗口的标题,可以根据需要进行修改。
完整的实例代码如下所示:
import cv2
import numpy as np
from PIL import ImageFont, ImageDraw, Image
# 加载图像
image = cv2.imread('image.jpg')
# 转换图像颜色空间为RGB
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 将图像转换为PIL Image对象
image_pil = Image.fromarray(image)
# 创建一个ImageDraw对象
draw = ImageDraw.Draw(image_pil)
# 加载字体文件
font = ImageFont.truetype('fonts/simhei.ttf', size=24)
# 在图像上绘制中文标签
draw.text((50, 50), '中文标签', font=font, fill=(255, 0, 0))
# 将PIL Image对象转换为OpenCV图像
image_cv = cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow('Image with Chinese Label', image_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上述示例中,我们首先加载了一张图像,然后将其转换为RGB颜色空间。接下来,我们使用PIL库将图像转换为PIL Image对象,并使用ImageDraw对象在图像上绘制了中文标签。最后,我们将PIL Image对象转换为OpenCV图像,并使用cv2.imshow()函数显示图像。
