一、移植OPENCV3.4.1库:opencv-3.4.1.tar.gz
功能:实现对图片的处理
移植文档见:正点原子:I.MX6U 移植 OpenCV V1.3(注意版本)
注意:安装交叉编译工具 注意,这里不能使用 NXP yocto 所使用的交叉编译器 arm-poky-linux-gnueab,具体原因未知。 本次使用的是《【正点原子】I.MX6U 嵌入式 Linux 驱动开发指南 V1.x》的第 4.3 小节第三方 编译器 arm-linux-gnueabihf。 由于作者的 Ubuntu 是 64 位的,所以选择的是 64 位的编译工具链。请参照《【正点原子】I.MX6U 嵌入式 Linux 驱动开发指南 V1.x》的第 4.3 小节配置好交叉编译工具链
二、移植freetype库:freetype-2.10.2.tar.xz
功能:调用字库,用各种字体绘制汉字
移植过程见链接:移植Freetype字体库
(换浏览器打开)
注意:先解压freetype-2.10.2.tar.xz压缩包,解压完成后用解压出来的Makefile进行编译,这里我是用的新的编译链(包含zlib,如果不包含的话需要用下面的命令来编译安装zlib),编译出错是正常的,是因为freetype是依赖于libpng的,而libpng依赖于zlib
三、通过OpenCV的C++接口实现中文的输出
见网址,
OpenCV支持中文字符输出实现 - CodeAntenna
https://codeantenna.com/a/SXGzduMqSQ(换浏览器打开)
主要是CvxText.hpp和CvxText.cpp,2个文件中的putWChar函数实现了字体的位图绘制,中文变成图片,然后去叠到图片上去。
四、调用接口
必须注意一下这个L,一定要加上。
wchar_t是C/C++的字符类型,是一种扩展的存储方式。wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码。unicode编码的字符一般以wchar_t类型存储。
五、效果
(欢迎私信交流)