您的位置:首页 > 编程语言 > C语言/C++

C++ 在图片上打印文字并保存图片

2016-05-04 17:47 441 查看
int score_record(IplImage* image, string scoreNum, float score )
{
CvFont font; //传值给cvPutText()的CvFont
double hscale = 0.5; //字体宽度。如果等于1.0f,字符的宽度是最初的字体宽度。如果等于0.5f,字符的宽度是最初的字体宽度的一半。
double vscale = 0.5; //字体高度。如果等于1.0f,字符的高度是最初的字体高度。如果等于0.5f,字符的高度是最初的字体高度的一半。
int linewidth = 1; //字体笔划的粗细程度。
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,hscale,vscale,0,linewidth); //初始化字体结构体,字体结构体可以被传递到文字显示函数中

CvScalar textColor =cvScalar(0,255,255); //文字颜色
CvPoint textPos = cvPoint(0, 50); //文字打印位置,第一个字符左下角的坐标。

char text[500]; //打印文字内容,只能是char *格式,不能使用string
sprintf(text,"%s %.4f", scoreNum.c_str(), score);  //将要打印的信息存入text
IplImage* image_backup = cvCloneImage(image); //因为要在图片上打印信息,所以先将图片备份
cvPutText(image_backup, text, textPos, &font,textColor); //在图像中显示文本字符串。

//保存图片
char window_Name[500];  //图片名称
sprintf(window_Name,"%.4f.jpg",  score);  //以score值命名图片
cvSaveImage(window_Name,image_backup);

return 0;
}



代码下载链接:C++
在图片上打印文字并保存图片

参考:

Cxcore绘图函数




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ opencv