opencv学习-在图像中添加文字

一、API-putText

void putText(
1. InputOutputArray img, 输入图像
2. const String& text, 输入文本
3. Point org, 文本放置的位置坐标
4. int fontFace, 文字字体设置。
可供选择的有
FONT_HERSHEY_SIMPLEX:正常大小无衬线字体
FONT_HERSHEY_PLAIN:小号无衬线字体
FONT_HERSHEY_DUPLEX:正常大小无衬线字体,比FONT_HERSHEY_SIMPLEX更复杂
FONT_HERSHEY_COMPLEX:正常大小有衬线字体
FONT_HERSHEY_TRIPLEX:正常大小有衬线字体,比FONT_HERSHEY_COMPLEX更复杂
FONT_HERSHEY_COMPLEX_SMALL:FONT_HERSHEY_COMPLEX的小译本
FONT_HERSHEY_SCRIPT_SIMPLEX:手写风格字体
FONT_HERSHEY_SCRIPT_COMPLEX:手写风格字体,比FONT_HERSHEY_SCRIPT_SIMPLEX更复杂
5. double fontScale, 字体相较于最初尺寸的缩放系数。若为1.0f,则字符宽度是最初字符宽度,若为0.5f则为默认字体宽度的一半
6. Scalar color, 颜色设置
7. int thickness = 1, 粗细程度设置
8. int lineType = LINE_8, 字体笔画线条类型,有默认值8
9. bool bottomLeftOrigin = false 如果取值为TRUE,则Point org指定的点为插入文字的左上角位置,如果取值为默认值false则指定点为插入文字的左下角位置。

二、全部代码

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace std;
using namespace cv;

int main() {
    
    
	Mat src = imread("D:/images/hand.jpg");
	if (!src.data) {
    
    
		printf("could not load image...\n");
		return -1;
	}
	imshow("【input picture】", src);
	
	Point p1 =Point(src.rows / 2, src.cols / 2);
    putText(src, "hand", p1,FONT_HERSHEY_PLAIN,5,Scalar(0,0,255),3,8 );
	imshow("【addText】", src);
	waitKey(0);
}


三、效果展示

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51244852/article/details/118161573#comments_21709847