OpenCV 中文汉字显示
2014-05-13 17:05
363 查看
#ifndef OPENCV_CVX_TEXT_2007_08_31_H #define OPENCV_CVX_TEXT_2007_08_31_H /*** \file CvxText.h * \brief OpenCV汉字输出接口 ** 实现了汉字输出功能。*/ #include <ft2build.h> #include FT_FREETYPE_H #include <cv.h> #include <highgui.h> /*** \class CvxText * \brief OpenCV中输出汉字 **OpenCV中输出汉字。字库提取采用了开源的FreeFype库。由于FreeFype是 *GPL版权发布的库,和OpenCV版权并不一致,因此目前还没有合并到OpenCV * 扩展库中。 ** 显示汉字的时候需要一个汉字字库文件,字库文件系统一般都自带了。 * 这里采用的是一个开源的字库:“文泉驿正黑体”。 ** 关于"OpenCV扩展库"的细节请访问 * http://code.google.com/p/opencv-extension-library/ ** 关于FreeType的细节请访问 * http://www.freetype.org/ **/ main(int argc, char *argv[]) { // 定义CvxApplication对象 CvxApplication app(argc, argv); // 打开一个影象 IplImage *img = cvLoadImage("test.jpg", 1); { // "wqy-zenhei.ttf"为文泉驿正黑体 CvText text("wqy-zenhei.ttf"); const char *msg = "在OpenCV中输出汉字!"; float p = 0.5; text.setFont(NULL, NULL, NULL, &p); // 透明处理 text.putText(img, msg, cvPoint(100, 150), CV_RGB(255,0,0)); } // 定义窗口,并显示影象 CvxWindow myWin("myWin"); myWin.showImage(img); // 进入消息循环 return app.exec();} * \endcode*/ class CvxText { // 禁止copy CvxText& operator=(const CvxText&); public: /** * 装载字库文件 */ CvxText(const char *freeType); virtual ~CvxText(); /* 获取字体。目前有些参数尚不支持。 * \param font 字体类型, 目前不支持 * \param size 字体大小/空白比例/间隔比例/旋转角度 * \param underline 下画线 * \param diaphaneity 透明度 * * \sa setFont, restoreFont */ void getFont(int *type,CvScalar *size=NULL, bool *underline=NULL, float *diaphaneity=NULL); /**设置字体。目前有些参数尚不支持。 * \param font 字体类型, 目前不支持 * \param size 字体大小/空白比例/间隔比例/旋转角度 * \param underline 下画线 * \param diaphaneity 透明度 * *\sa getFont, restoreFont*/ void setFont(int *type, CvScalar *size=NULL, bool *underline=NULL, float *diaphaneity=NULL); /** * 恢复原始的字体设置。 * * \sa getFont, setFont */ void restoreFont(); //================================================================ //================================================================ /** * 输出汉字(颜色默认为黑色)。遇到不能输出的字符将停止。 * \param img 输出的影象 * \param text 文本内容 * \param pos 文本位置 * * \return 返回成功输出的字符长度,失败返回-1。 */ int putText(IplImage *img, const char *text, CvPoint pos); /** * 输出汉字(颜色默认为黑色)。遇到不能输出的字符将停止。 * * \param img 输出的影象 * \param text 文本内容 * \param pos 文本位置 * * \return 返回成功输出的字符长度,失败返回-1。 */ int putText(IplImage *img, const wchar_t *text, CvPoint pos); /*** 输出汉字。遇到不能输出的字符将停止。 * * \param img 输出的影象 * \param text 文本内容 * \param pos 文本位置 * \param color 文本颜色 * * \return 返回成功输出的字符长度,失败返回-1。 */ int putText(IplImage *img, const char *text, CvPoint pos, CvScalar color); /*** 输出汉字。遇到不能输出的字符将停止。 **\param img 输出的影象 * \param text 文本内容 * \param pos 文本位置 * \param color 文本颜色 * * \return 返回成功输出的字符长度,失败返回-1。 */ int putText(IplImage *img, const wchar_t *text, CvPoint pos, CvScalar color); //================================================================ //================================================================ private: // 输出当前字符, 更新m_pos位置 void putWChar(IplImage *img, wchar_t wc, CvPoint &pos, CvScalar color); //================================================================ //================================================================ private: FT_Library m_library; // 字库 FT_Face m_face; // 字体 //================================================================ //================================================================ // 默认的字体输出参数 int m_fontType; CvScalar m_fontSize; bool m_fontUnderline; float m_fontDiaphaneity; //================================================================ //================================================================ }; #endif // OPENCV_CVX_TEXT_2007_08_31_H
相关文章推荐
- python+freetype+opencv 图片中文(汉字)显示 详细图文教程和项目完整源代码
- OpenCV 显示中文汉字,未使用CvxText和FreeType库
- 【opencv】显示中文汉字
- OpenCV 中文汉字显示
- OpenCV显示中文汉字,未使用CvxText和FreeType库,很强大!!
- vs2008实现opencv显示中文汉字
- aspx页面中文汉字显示为乱码
- php 输出json及显示json中的中文汉字详解及实例
- aspx页面中文汉字显示为乱码
- 英文操作系统下中文操作软件汉字显示为问号的问题解决方法
- aspx页面中文汉字显示为乱码
- android游戏开发框架libgdx的使用(三)--中文显示与汉字绘制
- CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas以及汉字中文的显示
- OpenCV3.2+Qt5.8.0+Win10开发视频监控系统----(2)Qt之中文显示
- 使用freetype来显示中文汉字和英文字符
- opencv画扇形,半透明,添加中文汉字等等
- aspx页面中文汉字显示为乱码
- android游戏开发框架libgdx的使用(三)--中文显示与汉字绘制
- sublime text3 中输入汉字,程序正常运行,但是python控制台却无法显示中文。
- CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas以及汉字中文的显示