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

opencv给视频添加文字­_ cvPutText使用说明

2013-05-24 14:40 141 查看
opencv 中的 cvPutText() 函数是加上文字的意思:

cvPutText(CvArr* img, const char* text, CvPoint origin, constCvFont* font, CvScalar color);

函数中各个参数的含义如下所示:

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

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

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

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

color---字体的颜色;



CvFont类型变量的初始化是通过函数cvInitFont来实现的;该函数的申明如下所示:

void cvInitFont(CvFont*font, int font_face, double h_scale, double v_scale, double shear=0, intthickness=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的其它绘图函数中定义的一样,表示线型的宽度和线条的类型;



最常用的语句:

IplImage* img = cvCreateImage(cvSize(width,height), IPL_DEPTH_8U,3 );

char text[20] = "To print!";

CvPoint point = cvPoint(10, 10);

CvFont font;

cvInitFont(&font,CV_FONT_HERSHEY_DUPLEX, 1.0f,1.0f, 2, CV_AA);

cvPutText(img, text, point, &font,CV_RGB(255, 0, 0) );



实例:

#include "stdafx.h"

#include "cv.h"

#include "highgui.h"

#include "cxcore.h"

#include "iostream"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

IplImage* pImg = cvLoadImage("c:\\lena.jpg");

if (!pImg)

{

cout<<"pImg load error..."<<endl;

system("pause");

exit(-1);

}

CvFont font;

cvInitFont(&font,CV_FONT_HERSHEY_COMPLEX, 0.5, 0.5, 1, 2, 8);

cvPutText(pImg,"This is a picture named lena!", cvPoint(50,50), &font, CV_RGB(255,0,0));

cvSaveImage("c:\\test1.jpg", pImg);

cvNamedWindow("img", 0);

cvShowImage("img", pImg);

cvWaitKey(0);

system("pause");

cvReleaseImage(&pImg);

cvDestroyAllWindows();

return 0;

}

Opcv中文网:

http://www.opencv.org.cn/index.php/Cxcore%E7%BB%98%E5%9B%BE%E5%87%BD%E6%95%B0#InitFont
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐