作者:HS_G_960 | 来源:互联网 | 2023-06-07 01:23
OpenCV版本一直在更新,但至今依然没有往图像中添加中文注释的功能函数,本文基于freetype和OpenCV向读者推荐一种图像写入中文的方法。
一、下载freetype库并配置
1、从 http://download.savannah.gnu.org/releases/freetype/ 下载freetype库。例如下载freetype-2.7.tar.gz文件,在windows下解压压缩文件(如图1)。打开目录builds\windows,选择合适的VS版本,本文选择VS2010下的工程文件,并编译生成相关lib文件(debug、release, win32、×64)。
CvxText text("msyh.ttf"); //载入希望输入的字体,可在目录C:\WINDOWS\Fonts中选择相应字体文件,并复制到工程下。Scalar size(15, 0.5, 0.1, 0); //设置字体的大小/空白比例/间隔比较/旋转角度
float p = 1.f; //设置字体的透明度
const char *msg = "@OpenCV中文输出测试!";text.setFont(NULL, &size, NULL, &p);
text.putText(img, msg, Point(140, 250), CV_RGB(0,255,0));imwrite("1.bmp", img);return 0;
图2
如果报错:由于无法找打freetype.dll,无法继续执行 这样的错误,请将freetype路径下objs下刚才用VS编译生成的freetype.dll放在刚才创建的VS工程下,比如x64/Release/下