设为首页 加入收藏

TOP

利用OpenCV在图片上书写英文
2014-11-24 12:33:28 来源: 作者: 【 】 浏览:0
Tags:利用 OpenCV 图片 书写 英文

利用OpenCV进行英文字符串的书写是很容易的。只需要调用cvPutText()函数即可。该函数的申明如下所示:
cvPutText(CvArr* img, const char* text, CvPoint origin, const CvFont* font, CvScalar color);函数中各个参数的含义如下所示:


img---图片指针(需要说明的是,CvArr* 等价于void*,一般我们在这里传递一个IplImage*);


text---显然是需要打印到图片上的字符串的内容;


origin---字符串在图片上打印的原点(即,字符串的左下角在图片中的位置)


font---描述字体属性的变量;


color---字体的颜色;


上面函数中出现了一个较为生僻的变量CvFont*,从名称不难发现,该类型用于进行字符属性的描述;需要刻意提醒的是,CvFont类型的指针并不能像CvMat或IplImage类型的指针那样,存在一个cvCreate**之类的函数对其进行初始化。CvFont类型变量的初始化是通过函数cvInitFont来实现的;该函数的申明如下所示:


void cvInitFont(CvFont* font, int font_face, double h_scale, double v_scale, double shear=0, int thickness=1, int line_type=8);


该函数中各个变量的含义如下所示:


font---传入及传出的字体属性类型指针;


font_face---表示字体的类型,其取值只能为以下数值之一:


1. CV_FONT_HERSHEY_SIMPLEX


2. CV_FONT_HERSHEY_PLAIN


3. CV_FONT_HERSHEY_DUPLEX


4. CV_FONT_HERSHEY_COMPLEX


5. CV_FONT_HERSHEY_TRIPLEX


6. CV_FONT_HERSHEY_COMPLEX_SMALL


7. CV_FONT_HERSHEY_SCRIPT_SIMPLEX


8. CV_FONT_HERSHEY_SCRIPT_COMPLEX


h_scale---只能为1或0.5,表示水平方向字体的缩放系数;


v_scale---只能为1或0.5,表示垂直方向字体的缩放系数;


shear---取值从0---1,表示字体的倾斜程度,0表示不倾斜,1表示倾斜45度;


thichness, line_type这两个参数同OpenCV的其它绘图函数中定义的一样,表示线型的宽度和线条的类型;


这里,不妨给出一段参考代码,来举例说明上述两个函数的用法;


原图


运行结果


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇将一个数组转换成深度最低的二叉树 下一篇求二叉树中和为给定值的所有路径

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·MySQL 安装及连接-腾 (2025-12-25 06:20:28)
·MySQL的下载、安装、 (2025-12-25 06:20:26)
·MySQL 中文网:探索 (2025-12-25 06:20:23)
·Shell脚本:Linux Sh (2025-12-25 05:50:11)
·VMware虚拟机安装Lin (2025-12-25 05:50:08)