您的位置:首页 > 运维架构

利用OpenCV给图像添加中文标注

2016-12-08 15:40 351 查看
OpenCV不支持汉字输出,参考了网上的相关内容,将解决步骤简要记录如下:

1、从 http://download.savannah.gnu.org/releases/freetype/ 下载FreeType库,windows下,根据自己用的编译器版本,打开相应的工程文件。比如,我用的VS2008,则打开目录 \builds\win32\vc2008 下的工程文件,编译成功,关闭工程退出。

2、编译成功后,在工具->选项->C++目录中添加freetype下的include文件夹以及lib文件夹,将objs\win32\vc2008中的库文件添加到当前工程的附加依赖项中。

3、参考opencv中文论坛这篇帖子: http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=2083&hilit=汉字 直接copy前两个源码文件,保存为CvxText.h和CvxText.cpp,分别添加到当前工程中。

4、接下来就可以直接调用函数了,最简单的例子:

       IplImage *img = cvLoadImage("test.jpg", 1);

 

       CvText text("simsun.ttf");//这个是系统自带的宋体字体文件,可以选别的

 

       const char *msg = "汉字";

 

       float p = 0.5;

       text.setFont(NULL, NULL, NULL, &p);   // 透明处理(第二个参数可以设置字体大小旋转等)

 

       text.putText(img, msg, cvPoint(100, 150), CV_RGB(255,0,0));

这样就可以往图像test.jpg中坐标为(100,150)的位置添加红色的“汉字”二字啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: