opencv显示中文
时间: 2023-10-13 11:05:12 浏览: 83
OpenCV 默认情况下不支持中文显示,但可以使用 PIL 库来绘制中文,并将绘制的结果转换为 OpenCV 可以显示的格式。具体步骤如下:
1. 导入所需的库:import cv2, numpy as np, from PIL import ImageFont, ImageDraw, Image。
2. 定义一个函数来显示中文:def show_chinese(img, text, pos)。这个函数将接收一个 OpenCV 图片、要显示的中文文本和文本的位置作为参数。
3. 使用 PIL 库将 OpenCV 图片转换成 PIL 图片格式:img_pil = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))。
4. 选择一个合适的中文字体,并设置字体大小:font = ImageFont.truetype(font='msyh.ttc', size=36)。这里使用了微软雅黑字体,大小为36。
5. 创建一个 ImageDraw 对象,并使用该对象的 text() 方法将中文文本绘制在图片上:draw = ImageDraw.Draw(img_pil);draw.text(pos, text, font=font, fill=(255, 0, 0))。这里的参数 pos 是文本的位置,fill 是文本的颜色,红色表示为 (255, 0, 0)。
6. 将 PIL 图片转换为 numpy 数组格式:img_cv = np.array(img_pil)。
7. 将 PIL 图片的颜色格式转换为 OpenCV 的 BGR 格式:img = cv2.cvtColor(img_cv, cv2.COLOR_RGB2BGR)。
8. 返回带有中文文本的 OpenCV 图片:return img。
通过以上步骤,您可以使用 OpenCV 显示中文文本。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [opencv图像中显示中文](https://blog.csdn.net/Cretheego/article/details/129944742)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [OpenCV显示中文字体](https://blog.csdn.net/qq_43466323/article/details/120889837)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文