在使用OpenCV的cv2.putText函数时,确实可能会遇到中文乱码的问题。这是因为cv2.putText函数默认只支持英文字符,而不支持中文字符。为了解决这个问题,我们可以采取以下几种方法: 1. 确认环境配置与编码设置 首先,确保你的Python环境和OpenCV库都已正确安装,并且你的代码文件是以UTF-8编码保存的。这通常是处理中文乱码问...
python opencv cv2.putText()显示中文问题 完整代码如下: (其中cv2AddChineseText为封装代码) importcv2 as cvfromPILimportImage, ImageDraw, ImageFontimportnumpy as np#encoding:utf-8importbase64importrequestsdefcv2AddChineseText(img, text, position, textColor=(0, 0, 255), textSize=15):if(isinstance(...
importcv2importcodecs# 读取图像image=cv2.imread('image.jpg')# 将中文文本转换为合适的编码格式text='中文文本'text=codecs.encode(text,'utf-8')# 在图像上绘制中文文本cv2.putText(image,text,(50,50),cv2.FONT_HERSHEY_SIMPLEX,1,(0,255,0),2)# 显示图像cv2.imshow('Image',image)cv2.waitKey(0...
textSize =35fontText = ImageFont.truetype("font/simsun.ttc", textSize, encoding="utf-8") pos = (300,40)# (left, top),字符串左上角坐标text ='@Elaine猿'color = (128,128,128)# graydrawPIL.text(pos, text, color, font=fontText) imgPutText = cv2.cvtColor(np.asarray(imgPIL), cv2...
# coding=utf-8 import cv2 import numpy as np text = "Hello world" # just work # text = "内容理解团队" # messy text in the image cv2.putText(img, text, cord, font, fontScale, fontColor, lineType) # Display the image cv2.imshow("img", img) cv2.waitKey(0) cv2.destroyAllWindows...
OpenCV显示字符串时,可以调用cv2.putText直接进行显示方法,但该函数是不支持换行符"\n"的 要想实现自动换行,需要自己编程计算字符宽度,下移动宽度等操作 这里提供自己实现draw_text_line()函数,可以直接支持换行符的显示 代码实现: # -*-coding: utf-8 -*- ...
因为使用cv2.putText() 只能显示英文字符,中文会出现乱码问题, 因此使用PIL在图片上绘制添加中文,可以指定字体文件。 大体思路: OpenCV图片格式转换成PIL的图片格式; 使用PIL绘制文字; PIL图片格式转换成OpenCV的图片格式; 具体实现: # coding=utf-8# cv2解决绘制中文乱码importcv2importnumpyfromPILimportImage, Image...
python解决cv2绘制中⽂乱码问题因为使⽤cv2.putText() 只能显⽰英⽂字符,中⽂会出现乱码问题,因此使⽤PIL在图⽚上绘制添加中⽂,可以指定字体⽂件。⼤体思路:OpenCV图⽚格式转换成PIL的图⽚格式;使⽤PIL绘制⽂字;PIL图⽚格式转换成OpenCV的图⽚格式;具体实现:# coding=utf-8 # ...
opencv自带的putText函数无法输出中文字符,需要借助Pillow 安装 pip install pillow numpy 代码示例 import cv2import numpy as npfrom PIL import Image, ImageDraw, ImageFont# 1、将cv2转为PILimg = cv2.imread("source/bug.png")# cv2和PIL中颜色的hex码的储存顺序不同img = cv2.cvtColor(img, cv2.COLOR_...
pil_img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_RGB2BGR)) 2、创建draw对象 draw = ImageDraw.Draw(pil_img) 3、定义字体 fontStyle = ImageFont.truetype('simsun.ttc', 10, encoding = 'utf-8)' 4、写上中文在图片 draw.text((c1[0], c1[1] - 2), label, 0, font=fontStyle) ...