在OpenCV中使用cv2putText()函数将中文文字添加到图像的代码示例
发布时间:2023-12-19 06:11:47
在OpenCV中使用cv2.putText()函数将中文文字添加到图像需要进行以下步骤:
1. 安装OpenCV库:如果还没有安装OpenCV库,请先使用pip install opencv-python命令进行安装。
2. 导入必要的库:
import cv2 import numpy as np from PIL import Image, ImageDraw, ImageFont
3. 加载图像:
image = cv2.imread("image.jpg")
4. 调整图像格式:
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) image_pil = Image.fromarray(image_rgb)
5. 创建字体对象:
font_path = "font.ttf" # 字体文件路径 font_size = 32 # 字体大小 font = ImageFont.truetype(font_path, font_size)
6. 创建绘制对象:
draw = ImageDraw.Draw(image_pil)
7. 添加中文文字:
text = "你好,世界!" # 要添加的中文文字 text_position = (100, 100) # 文字位置 text_color = (255, 0, 0) # 文字颜色 draw.text(text_position, text, font=font, fill=text_color)
8. 将图像转换回OpenCV格式:
image_cv = cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR)
9. 显示图像:
cv2.imshow("Image", image_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()
下面是一个完整的示例代码,将中文文字添加到图像中并显示出来:
import cv2
import numpy as np
from PIL import Image, ImageDraw, ImageFont
def add_chinese_text(image_path, font_path, text, position, color, font_size):
# 加载图像
image = cv2.imread(image_path)
# 调整图像格式
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image_pil = Image.fromarray(image_rgb)
# 创建字体对象
font = ImageFont.truetype(font_path, font_size)
# 创建绘制对象
draw = ImageDraw.Draw(image_pil)
# 添加中文文字
draw.text(position, text, font=font, fill=color)
# 将图像转换回OpenCV格式
image_cv = cv2.cvtColor(np.array(image_pil), cv2.COLOR_RGB2BGR)
# 显示图像
cv2.imshow("Image", image_cv)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == "__main__":
image_path = "image.jpg" # 图像路径
font_path = "font.ttf" # 字体文件路径
text = "你好,世界!" # 要添加的中文文字
position = (100, 100) # 文字位置
color = (255, 0, 0) # 文字颜色
font_size = 32 # 字体大小
add_chinese_text(image_path, font_path, text, position, color, font_size)
在代码中,需要将image.jpg替换为你的图像路径,font.ttf替换为你的字体文件路径,text替换为你要添加的中文文字,position替换为文字的位置,color替换为文字的颜色,font_size替换为文字的大小。
运行以上代码,你将在一个新的窗口中看到已经将中文文字添加到图像中的结果。
