2016 - 2024

感恩一路有你

OpenCV:在图像上显示文本信息

浏览量:4799 时间:2024-01-26 09:48:00 作者:采采

1. 初始化字体结构-cvInitFont

在OpenCV的1.x版本中,要在图像上显示文本字符串,首先需要初始化字体结构cvInitFont。该函数的参数包括字体名称标识符、字体宽度、字体高度、字体斜度、字体笔划的粗细程度和字体笔划的类型。

2. 使用cvPutText在图像上显示文本字符串

在OpenCV的1.x版本中,可以使用cvPutText函数来在图像上显示文本字符串。该函数的参数包括待绘制图像、显示的字符串、第一个字母左下角的坐标、指向字体结构的指针和文本的颜色。

3. 结合cvInitFont和cvPutText在图像上显示文本的方法

在OpenCV的2.x版本中,可以采用getTextSize和putText函数相结合的方法来在图像上绘制文字。getTextSize函数用于获取待绘制文本框的大小,以方便放置文本框;putText函数则用于在图像中绘制文本信息。

4. getTextSize和putText结合的应用

以下是一个应用示例,演示了如何使用getTextSize和putText函数在图像中绘制文本信息:

#include 
#include 
#include 
using namespace std;
using namespace cv;
int main() {
    Mat image  cv::Mat::zeros(cv::Size(640, 480), CV_8UC3);
    (cv::Scalar(100, 0, 0));
    string text  "Hello World!";
    int font_face  cv::FONT_HERSHEY_COMPLEX;
    double font_scale  2;
    int thickness  2;
    int baseline;
    Size text_size  getTextSize(text, font_face, font_scale, thickness, baseline);
    Point origin;
    origin.x   / 2 - text_size.width / 2;
    origin.y   / 2   text_size.height / 2;
    putText(image, text, origin, font_face, font_scale, cv::Scalar(0, 255, 255), thickness, 8, 0);
    imshow("image", image);
    waitKey(0);
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。