opencv3.3.0图片上添加中文字幕
来源:互联网 发布:天猫淘宝商城男装外套 编辑:程序博客网 时间:2024/06/08 14:15
说明
opencv3.3.0本身的putText()用于在图像上添加字符串,但没有提供中文的字库。
参见opencv文档:
https://docs.opencv.org/master/d6/d6e/group__imgproc__draw.html#ga5126f47f883d730f633d74f07456c576
putText()的用法:
void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin, // 文本框的左下角 int fontFace, // 字体 (如cv::FONT_HERSHEY_PLAIN) double fontScale, // 尺寸因子,值越大文字越大 cv::Scalar color, // 线条的颜色(RGB) int thickness = 1, // 线条宽度 int lineType = 8, // 线型(4邻域或8邻域,默认8邻域) bool bottomLeftOrigin = false // true='origin at lower left')
opencv提供的字体:
参考一些博客的说明,可以用FreeType的方法,也可以采用PIL内Image的方法实现中文字幕,这里给出PIL的方法,感觉比较简单实用。
以下代码片段在win7 32笔记本上测试通过。
# -*- coding: utf-8 -*-# @Time : 2017/11/12 12:05# @Author : aikes# @Email : 13937992699@139.com# @File : chinese_font.py# @Software: python3.6.3# opencv3.3.0# pyqt5# pycharm 2017.2from PIL import Image, ImageDraw, ImageFontimport cv2import numpy as npframe = cv2.imread('c://monroe1.png')frame_cv2 = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)frame_pil = Image.fromarray(frame_cv2) #转为PIL的图片格式draw = ImageDraw.Draw(frame_pil) font = ImageFont.truetype("simhei.ttf", 50, encoding="utf-8") # 第一个参数为字体,中文黑体 # 第二个为字体大小ImageDraw.Draw(frame_pil).text((100, 20), "生日快乐!", (0, 0, 255), font)''' frame_pil:目标图像 第一个参数为打印的坐标 第二个为打印的文本 第三个为字体颜色 第四个为字体'''frame_cv2 = cv2.cvtColor(np.array(frame_pil), cv2.COLOR_RGB2BGR)cv2.imshow("img", frame_cv2)if cv2.waitKey(0)==ord('q'):cv2.destroyAllWindows()
关于中文字体:
本例中采用的simhei.ttf,就是windows自带的简体黑体中文,在c://windows下搜索各种字体应有尽有,只需将代码中的字体替换即可,注意要把路径一并键入。
阅读全文
0 0
- opencv3.3.0图片上添加中文字幕
- 图片上添加文字
- 图片上添加文字
- 图片上添加水印
- 图片上添加文字
- ActionBar上添加图片
- 图片上添加文字
- 前端:图片上添加图片
- ubuntu7.10-amd64上mplayer及中文字幕
- opencv3.3.1+python3.6.3图像上添加背景透明logo
- android button 上添加图片
- Android Button 上添加图片
- 在图片上添加文字
- MFC button 上添加图片
- android图片上添加文字
- 图片上动态添加文字
- 图片上动态添加文字
- UILable上添加一张图片
- 基本算法——归并排序
- 3345 数据结构实验之二叉树六:哈夫曼编码
- 第六天:浪迹天涯网上商城(1.0版本)--后台管理系统--实现商品类目选择功能
- 轻松清理电脑中几十G大文件的操作方法
- 编程之路的开始
- opencv3.3.0图片上添加中文字幕
- 创建程序窗口
- (5)OneToMany单向、双向manytoone
- MIT 6.006 Algorithm Lecture 7
- 10分钟读懂人工智能、机器学习到底有什么关系
- 我的老公是枚码农
- 三个点确定一个圆
- C++中局部类的使用
- openrov,bluerov(树莓派代码)水下机器人树莓派、BBB板--组装自己的rov(准备篇)