1. 图片上写字(中文和英文)
代码
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <ctype.h>
#include <iostream>
using namespace cv;
using namespace std;
CvFont font;
void main( int argc, char** argv )
{
Mat src=imread("1.jpg");
IplImage* image = &IplImage(src); // Mat -> IplImage 类型转换
/*-------------------opencv写字程序 8种字体类型------------------*/
cvInitFont(&font,CV_FONT_HERSHEY_SIMPLEX,1.0,1.0,0,2,8);
cvPutText(image,"1Hello World !",cvPoint(80,40),&font,cvScalar(255,0,0,1));
//cout<<image->height <<"\n "<< image->width ;
printf("%d\n%d",image->height,image->width);
cvInitFont(&font,CV_FONT_HERSHEY_PLAIN,1.0,1.0,0,2,8);
cvPutText(image,"2Hello World !",cvPoint(80, 80),&font,cvScalar(0,255,0,1));
cvInitFont(&font,CV_FONT_HERSHEY_DUPLEX,1.0,1.0,0,2,8);
cvPutText(image,"3Hello World !",cvPoint(80, 140),&font,cvScalar(0,255,255,1));
cvInitFont(&font,CV_FONT_HERSHEY_COMPLEX,1.0,1.0,0,2,8);
cvPutText(image,"4Hello World !",cvPoint(80, 200),&font,cvScalar(255,255,255,1));
cvInitFont(&font,CV_FONT_HERSHEY_TRIPLEX,1.0,1.0,0,2,8);
cvPutText(image,"5Hello World !",cvPoint(80, 260),&font,cvScalar(255,255,0,1));
cvInitFont(&font,CV_FONT_HERSHEY_COMPLEX_SMALL,1.0,1.0,0,2,8);
cvPutText(image,"6Hello World !",cvPoint(80, 300),&font,cvScalar(0,0,0,1));
cvInitFont(&font,CV_FONT_HERSHEY_SCRIPT_SIMPLEX,1.0,1.0,0,2,8);
cvPutText(image,"7Hello World !",cvPoint(80, 360),&font,cvScalar(255,255,255,1));
cvInitFont(&font,CV_FONT_HERSHEY_SCRIPT_COMPLEX,1.0,1.0,0,2,8);
cvPutText(image,"8Hello World !",cvPoint(80, 420),&font,cvScalar(0,255,255,1));
/*-------------------opencv写字程序 8种字体类型------------------*/
Mat img(image,TRUE); // IplImageMat -> Mat 类型转换
imshow("opencv写字",img);
waitKey( );
}
参考网址:https://blog.csdn.net/i_chaoren/article/details/70871024