OpenCV绘图函数(14)图像上绘制文字的函数putText()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

在图像上绘制指定的文本字符串。

cv::putText 函数在图像上绘制指定的文本字符串。无法使用指定字体渲染的符号会被问号(?)替换。关于文本渲染的具体示例可以参考 getTextSize 函数。

函数原型

cpp 复制代码
void cv::putText	
(
	InputOutputArray 	img,
	const String & 	text,
	Point 	org,
	int 	fontFace,
	double 	fontScale,
	Scalar 	color,
	int 	thickness = 1,
	int 	lineType = LINE_8,
	bool 	bottomLeftOrigin = false 
)		

参数

  • 参数img I图像
  • 参数itext 要绘制的文本字符串。
  • 参数iorg 文本字符串在图像中的左下角位置。
  • 参数ifontFace 字体类型,参见 HersheyFonts
  • 参数ifontScale 字体缩放因子,它与特定字体的基本尺寸相乘。
  • 参数icolor 文本颜色。
  • 参数ithickness 用于绘制文本的线条厚度。
  • 参数ilineType 线条类型。参见 LineTypes
  • 参数ibottomLeftOrigin 当为真时,图像数据原点位于左下角。否则,位于左上角。

代码示例

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

int main( int argc, char** argv )
{
    // 加载一个图像文件,如果未提供,则使用默认的图像
    cv::Mat image = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/qiu.jpg" );

    if ( image.empty() )
    {
        std::cerr << "Error: Image cannot be loaded!" << std::endl;
        return -1;
    }

    // 创建一个窗口来显示图像
    cv::namedWindow( "Image with Text", cv::WINDOW_AUTOSIZE );

    // 定义要绘制的文本及其属性
    std::string text = "Hello, OpenCV!";
    cv::Point org( 10, 50 );                      // 文本的左下角起点
    double fontFace  = cv::FONT_HERSHEY_SIMPLEX;  // 字体类型
    double fontScale = 1;                         // 字体大小
    cv::Scalar color( 255, 0, 0 );                // 文本颜色(BGR)
    int thickness         = 2;                    // 文本线宽
    int lineType          = cv::LINE_8;           // 线条类型
    bool bottomLeftOrigin = false;                // 原点是否在左下角

    // 使用 cv::putText 绘制文本
    cv::putText( image, text, org, fontFace, fontScale, color, thickness, lineType, bottomLeftOrigin );

    // 显示带有文本的图像
    cv::imshow( "Image with Text", image );
    cv::waitKey( 0 );  // 等待按键按下

    return 0;
}

运行结果

相关推荐
IT古董31 分钟前
【漫话机器学习系列】261.工具变量(Instrumental Variables)
人工智能·机器学习
小王格子35 分钟前
AI 编程革命:腾讯云 CodeBuddy 如何重塑开发效率?
人工智能·云计算·腾讯云·codebuddy·craft
MonkeyKing_sunyuhua1 小时前
VSCode + Cline AI辅助编程完全指南
ide·人工智能·vscode
Leinwin1 小时前
Microsoft Azure 服务4月更新告示
人工智能·azure
胡耀超1 小时前
霍夫圆变换全面解析(OpenCV)
人工智能·python·opencv·算法·计算机视觉·数据挖掘·数据安全
jndingxin1 小时前
OpenCV CUDA 模块中用于在 GPU 上计算两个数组对应元素差值的绝对值函数absdiff(
人工智能·opencv·计算机视觉
jerry6091 小时前
LLM笔记(五)概率论
人工智能·笔记·学习·概率论
硅谷秋水1 小时前
学习以任务为中心的潜动作,随地采取行动
人工智能·深度学习·计算机视觉·语言模型·机器人
Tiny番茄2 小时前
Multimodal models —— CLIP,LLava,QWen
人工智能