本人处理图像的时候经常使用opencv的包,但是 cv2.putText 显示不了中文,所以查找了如何在python在图像上写中文的方法,在伟大的Stack Overflow上面找到一个方法,分享给大家。

本文的 Stack Overflow 网址: https://stackoverflow.com/questions/50854235/how-to-draw-chinese-text-on-the-image-using-cv2-puttextcorrectly-pythonopen

 import cv2
from PIL import ImageFont, ImageDraw, Image
import numpy as np # 注意这里一定要是彩色图片
image = cv2.imread('image.jpg') # 定义宋体路径
fontpath = 'simsun.ttc' # 创建字体对象,并且指定字体大小 font = ImageFont.truetype(fontpath, 50) # 把array格式转换成PIL的image格式 img_pil = Image.fromarray(image) # 创建一个可用来对其进行draw的对象 draw = ImageDraw.Draw(img_pil) # 在图像上写上你要写的子 draw.text((100, 400), '你好,中国', font=font, fill=(255, 255, 255)) # 把PIL的image格式转换回成array格式 save_image = np.array(img_pil) cv2.imshow('image', save_image) cv2.waitKey() cv2.destroyAllWindows()

结果如下:

这样就可以在图像上看到中文了。

这边有个细节要提醒下大家,因为本人电脑系统是ubuntu18.04,所以下载的simsun.ttc打开文件一直有错误,所以就在github上找了一个,已经传到我的文件中不知你们是否能下载,有需要的也可以联系我。

python 在图像上写中文字体 (python write Chinese in image)的更多相关文章

  1. LindDotNetCore~docker里图像上生成中文乱码问题

    回到目录 因为docker上的大部分镜像都是基于linux系统的,所以在向图像中写中文时需要考虑中文字体问题,例如在microsoft/aspnetcore2.0这个镜像,它是基于debian系统的, ...

  2. wcharczuk/go-chart图表上使用中文字体

    https://github.com/wcharczuk/go-chart/ 默认使用的字体是 roboto.Roboto,不支持中文.  // GetDefaultFont returns the ...

  3. CentOS6.5上增加中文字体库,确保前端WEB可以正常显示

    1 下载字体 可以在网上下载,也可以在 windows 目录下(C:\Windows\Fonts)找到对应字体,这里是从另一套系统上 copy simsun.ttf 文件. 2 查看当前系统中已安装的 ...

  4. KNN识别图像上的数字及python实现

    领导让我每天手工录入BI系统中的数据并判断数据是否存在异常,若有异常点,则检测是系统问题还是业务问题.为了解放双手,我决定写个程序完成每天录入管理驾驶舱数据的任务.首先用按键精灵录了一套脚本把系统中的 ...

  5. Python爬虫个人记录(四)利用Python在豆瓣上写一篇日记

    涉及关键词:requests库 requests.post方法 cookies登陆 version 1.5(附录):使用post方法登陆豆瓣,成功! 缺点:无法获得登陆成功后的cookie,要使用js ...

  6. python在图片上写汉字

    1.python opencv的putText只能画英文上去 2.借鉴这个https://blog.csdn.net/dcrmg/article/details/79108491 使用pil 首先,你 ...

  7. python生成word中文字体

    python生成word中文字体 我们今天用python生成word文件,主要是用到了PyRTF包生成rtf文件,由于PyRTF的包中文教程比较少,所以特此记录几篇文章,也希望给大家有一些帮助. 开始 ...

  8. CentOS 7 安装字体库 & 中文字体

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效:  如上图可以看出,不仅没有中文字体,连字体 ...

  9. 常用 CSS 中文字体 Unicode 编码表

    为什么要在CSS中设置字体用字体 Unicode 编码 在 CSS 中设置字体名称,直接写中文是可以的.但是在文件编码(GB2312.UTF-8 等)不匹配时会产生乱码的错误. 为此,在 CSS直接使 ...

随机推荐

  1. NOIP2018系列

    1.初赛退役 退役失败了啊qwq update:11.09 2.复赛啦 呜啊怎么这么快就复赛了呢.我还有好多东西没有学会呢呜呜呜. 一年里学了不少稀奇古怪的算法.认识了许多可爱的oier. 感谢一路上 ...

  2. axios拦截器的使用方法

    很多时候我们需要在发送请求和响应数据的时候做一些页面处理,比如在请求服务器之前先判断以下用户是登录(通过token判断),或者设置请求头header,或者在请求到数据之前页面显示loading等等,还 ...

  3. RabbitMQ之交换机

    1. 交换机类型 rabbitmq常见有四种交换机类型: direct, topic, fanout, headers. 一般headers都不用,工作中用得较多的是fanout,它会将消息推送到所有 ...

  4. loadRunner函数之lr_set_debug_message

    lr_set_debug_message:选择性开启扩展日志 vuser_init: vuser_init() { ; } Action: Action() { ExtendedLog(); // 开 ...

  5. php strtoupper()函数 语法

    php strtoupper()函数 语法 作用:把所有字符转换为大写 语法:strtoupper(string) 参数: 参数 描述 string 必须,规定要转换的字符串 说明:strtouppe ...

  6. linux 下启动tomcat 时没有执行权限

    原因: 没有权限 解决 : chmod 777 *.sh Linux下启动tomcat

  7. AcWing 312. 乌龟棋 (简单DP)打卡

    题目:https://www.acwing.com/problem/content/description/314/ 题意:有一段路,每个格子都有个价值,然后有m张卡牌,四种类型,走1,2,3,4步, ...

  8. 转载:IDEA lombok插件的安装和使用

    转载自:https://jingyan.baidu.com/article/0a52e3f4e53ca1bf63ed725c.html lombok插件的安装   1 首先我们需要安装IntelliJ ...

  9. python删除列表中得重复得数据

    解决思想:将列表转换为 集合,利用集合删除重复数据得特性删除重复数据,然后将集合转换为列表 #删除列表中得重复元素 def delect_1 (lt): s = set(lt) lt = list(s ...

  10. LintCode之删除链表中的元素

    题目描述 我的代码 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode n ...