Opencv中图像上输出文字,用putText函数就可以完成。
输出文字putText函数介绍:
1 2 3 4 5 6 7 8 9 10 11 |
void cv::putText( cv::Mat& img, // 图像 const string& text, // 输出的文字 cv::Point origin, //文字左下角坐标 int fontFace, // 字体 double fontScale, // 尺寸因子,值越大文字越大 cv::Scalar color, // 线条的颜色(RGB) int thickness = 1, // 线条宽度 int lineType = 8, // 线型(4邻域或8邻域,默认8邻域) bool bottomLeftOrigin = false // true='origin at lower left' ); |
fontFace有效参数如下:
1 2 3 4 5 6 7 8 |
#define CV_FONT_HERSHEY_SIMPLEX 0 //正常大小无衬线字体 #define CV_FONT_HERSHEY_PLAIN 1 // 小号无衬线字体 #define CV_FONT_HERSHEY_DUPLEX 2 //正常大小无衬线字体。( 比CV_FONT_HERSHEY_SIMPLEX更复杂) #define CV_FONT_HERSHEY_COMPLEX 3 //正常大小有衬线字体 #define CV_FONT_HERSHEY_TRIPLEX 4 // 正常大小有衬线字体 ( 比CV_FONT_HERSHEY_COMPLEX更复杂) #define CV_FONT_HERSHEY_COMPLEX_SMALL 5 // CV_FONT_HERSHEY_COMPLEX 的小译本。 #define CV_FONT_HERSHEY_SCRIPT_SIMPLEX 6 //手写风格字体。 #define CV_FONT_HERSHEY_SCRIPT_COMPLEX 7 ///比CV_FONT_HERSHEY_SCRIPT_SIMPLEX更复杂。 |
Opencv中图像上输出文字实现代码:
1 2 3 4 5 6 7 8 9 10 |
{ // TODO: 在此添加控件通知处理程序代码 Mat image = imread("E:\Lena.bmp"); imshow("Image", image); putText(image, "Test Text", Point(20,100), CV_FONT_HERSHEY_SIMPLEX,1, Scalar (0,0,255)); imshow("Image", image); } |
Opencv中图像上输出文字测试结果: