当前位置: 首页 > article >正文

显示中文字体问题解决:ImportError: The _imagingft C module is not installed

使用opencv写入中文时,用以下代码会导致乱码:

cv2.putText(im0, f"{label}:{score}", (xmin, ymin), cv2.FONT_HERSHEY_SIMPLEX, 2, (0,255,0), 3)

因此需要借助PIL库写入中文字符,用法如下:

import cv2
from PIL import Image, ImageDraw, ImageFont
import numpy as np
def cv2AddChineseText(img, text, position, textColor=(0, 255, 0), textSize=30):
    if (isinstance(img, np.ndarray)):  # 判断是否OpenCV图片类型
        img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
    # 创建一个可以在给定图像上绘图的对象
    draw = ImageDraw.Draw(img)
    # 字体的格式
    fontStyle = ImageFont.truetype("HYSongYunLangHeiW-1.ttf", textSize, encoding="utf-8")
    # 绘制文本
    draw.text(position, text, textColor, font=fontStyle)
    # 转换回OpenCV格式
    return cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)

字体文件:https://download.csdn.net/download/yangsn0719/89689325
然后在用下面这句代替原来的用cv2.putText写入文本的语句就可以啦

img1 = cv2AddChineseText(img0, f"{label}:{score}", (xmin, ymin), textColor=(0,255,0), textSize=fontsize)

过程中,我的环境中PIL库报错ImportError: The _imagingft C module is not installed
在这里插入图片描述
解决方法是:

重新安装pillow,先卸载已有的pillow
$ pip3 uninstall pillow

再安装相关库
$ sudo apt install libjpeg-dev
$ sudo apt install libfreetype6-dev
$ sudo apt install zlib1g-dev
$ sudo apt install libpng-dev

然后,安装pillow
$ pip3 install pillow

之后就没有这个问题了。


http://www.kler.cn/a/283602.html

相关文章:

  • 前端垂直居中的多种实现方式及应用分析
  • [运维][Nginx]Nginx学习(1/5)--Nginx基础
  • linux设置主机名
  • 计算机毕业设计Python+Neo4j知识图谱医疗问答系统 大模型 机器学习 深度学习 人工智能 大数据毕业设计 Python爬虫 Python毕业设计
  • node.js安装和配置教程
  • 常见的噪声模型+图像中噪声模型的估计+常见的滤波方法(C++)
  • 最简洁!四步完成C#——opencv环境配置
  • 大模型企业应用落地系列八》基于大模型的对话式推荐系统》用户交互层
  • Python编码系列—Python CI/CD 实战:构建高效的自动化流程
  • MySQL集群基本概率
  • MySQL 延迟从库介绍
  • 基于OpenCV+MFC的KCF测速软件
  • Java面试题--1基础篇-01 __八股文 备战春招,秋招
  • 餐饮_零售_麻辣烫_水果店_零食店_生鲜店等收银系统
  • 代码随想录算法训练营day55:图论05:并查集
  • 计算机毕业设计选题推荐-摇滚音乐鉴赏网站-Java/Python项目实战
  • 第2章-05-接口API与安全签名算法
  • 网络安全售前入门03——审计类产品了解
  • 【提分必看!】蓝桥杯单片机提分技巧(国一经验分享)
  • phpstorm远程连接阿里云项目
  • 第 8 章 数据的家——MySQL的数据目录
  • 如何使用查询路由构建更先进的 RAG
  • 绕过后端校验的策略
  • 关于el-table的show-summary,合计栏不显示以及保留两位小数问题
  • Quarkus 后端开发记录
  • matlab 采样的非周期性矩形