4.5 文字绘制

PutText 函数在图像中呈现指定的文本字符串。不能使用指定字体呈现的符号将由问号替换。

void cv::putText	(	
cv::Mat & img,//待绘制的图像
const String & 	text,//待绘制的文字
Point 	org,//文本框的左下角
int 	fontFace,//字体类型
double 	fontScale,//尺寸因子,值越大,文字就越大
Scalar 	color,//线条颜色 RGB
int 	thickness = 1,//线条宽度
int 	lineType = LINE_8,//线型  4领域或8领域,默认为8领域
bool 	bottomLeftOrigin = false //如果为 true,则图像数据原点位于左下角,否则位于左上角。
)

getTextSize()用于获取字符串的宽度和高度。函数的返回包含文本框的大小。

Size cv::getTextSize	
(const String & 	text,   //输入文本字符串。
int 	fontFace,//要使用的字体,请参阅 HersheyFonts。
double 	fontScale,//字体缩放因子,乘以特定于字体的基本大小。
int 	thickness,//用于呈现文本的行的厚度。有关详细信息,请参见 putText
int * 	baseLine //基线相对于最底部文本点的 y 坐标。
)

代码

#include "pch.h"
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include<opencv2\imgproc.hpp>
//#pragma comment(lib, "opencv_world450d.lib")  //引用引入库 
using namespace std;
using namespace cv;int main()
{string text = "I am a student studying Opencv";//Funny text inside the box//int fontFace = FONT_HERSHEY_SCRIPT_SIMPLEX;     //手写风格字体int fontFace = FONT_HERSHEY_SCRIPT_COMPLEX;double fontScale = 2;       //字体缩放比int thickness = 3;Mat img(600, 1000, CV_8UC3, Scalar::all(0));int baseline = 0;Size textSize = getTextSize(text, fontFace, fontScale, thickness, &baseline);baseline += thickness;//center the textPoint textOrg((img.cols - textSize.width) / 2, (img.rows - textSize.height) / 2);//draw the boxrectangle(img, textOrg + Point(0, baseline), textOrg + Point(textSize.width, -textSize.height), Scalar(0, 0, 255));line(img, textOrg + Point(0, thickness), textOrg + Point(textSize.width, thickness), Scalar(0, 0, 255));putText(img, text, textOrg, fontFace, fontScale, Scalar::all(255), thickness, 8);imshow("text", img);waitKey(0);return 0;
}

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/806422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虹科Pico汽车示波器 | 免拆诊断案例 | 2011款东风悦达起亚K5车发动机偶尔起动困难

一、故障现象 一辆2011款东风悦达起亚K5车&#xff0c;搭载G4KD发动机&#xff0c;累计行驶里程约为24.5万km。车主反映&#xff0c;第1次起动发动机时偶尔无法起动着机&#xff0c;第2次能够正常起动着机&#xff0c;但发动机故障灯异常点亮。为此在其他维修厂维修过&#xf…

网站HTTP升级成为HTTPS的方法

将网站从HTTP免费升级为HTTPS&#xff0c;您可以按照以下步骤操作&#xff1a; 1. 选择证书颁发机构&#xff08;CA&#xff09;&#xff1a; - 为了免费升级&#xff0c;您可以选择使用JoySSL这样的公益项目。JoySSL提供免费、自动化的SSL/TLS证书颁发服务&#xff0c;适用于各…

【Spring高级】SpringMVC处理流程总结

请求处理流程中&#xff0c;DispatcherServlet作为核心组件&#xff0c;负责控制整个流程&#xff0c;协调各个组件之间的交互。同时&#xff0c;SpringMVC提供了丰富的配置选项和扩展点&#xff0c;使得开发者可以根据具体需求定制和扩展功能。 当浏览器发送一个请求 http://…

【linux】yum 和 vim

yum 和 vim 1. Linux 软件包管理器 yum1.1 什么是软件包1.2 查看软件包1.3 如何安装软件1.4 如何卸载软件1.5 关于 rzsz 2. Linux编辑器-vim使用2.1 vim的基本概念2.2 vim的基本操作2.3 vim命令模式命令集2.4 vim底行模式命令集2.5 vim操作总结补充&#xff1a;vim下批量化注释…

MySQL 8.0 克隆(clone)插件快速搭建主从复制

MySQL 8.0 clone插件提供从一个实例克隆数据的功能&#xff0c;克隆功能提供了更有效的方式来快速创建MySQL实例&#xff0c;搭建主从复制和组复制。本文介绍使用 MySQL 8.0 clone 插件快速搭建主从复制的方法 环境&#xff1a; mysql 8.0.29 主库&#xff1a;192.168.56.201…

FFmpeg: 简易ijkplayer播放器实现--01项目简介

文章目录 项目介绍流程图播放器实现过程界面展示 项目介绍 此项目基于FFmeg中 ffplay.c进行二次开发&#xff0c;实现基本的功能&#xff0c;开发软件为Qt 项目优势&#xff1a; 参考ijkplayer播放器&#xff0c;实现UI界面和播放器核心进行解耦&#xff0c;容易添加其他功能…

【Kaggle比赛】DFL 德甲足球事件检测大赛(CV·目标检测-视频分类)

赛题解析 比赛目标 进球了!在这场比赛中,你会发现足球(足球)传球ーー包括掷界外球和传中球ーー以及德甲比赛中的挑战。您将开发一个计算机视觉模型,可以在长视频记录中自动分类这些事件。 您的工作将有助于规模的数据收集过程。自动事件注释可以使事件数据从目前未探索的…

解锁视觉密码:计算机视觉理论与应用

一、引言 A. 计算机视觉的定义与重要性 计算机视觉是一门研究如何使计算机能够“看”和理解图像或视频的科学。它结合了图像处理、模式识别、机器学习等多个领域的技术&#xff0c;旨在赋予计算机对视觉信息的感知、分析和理解能力。计算机视觉的重要性在于其能够模拟人眼的视…

ELK企业日志分析系统介绍

前言 随着企业级应用系统日益复杂&#xff0c;随之产生的海量日志数据。传统的日志管理和分析手段&#xff0c;难以做到高效检索、实时监控以及深度挖掘潜在价值。在此背景下&#xff0c;ELK日志分析系统应运而生。本文将从ELK 日志分析系统的原理、架构及其在实践中的应用做相…

使用Django开发爬虫系统

在本文中&#xff0c;我们将介绍如何使用Django开发一个简单但功能强大的爬虫系统。我们将使用Python编写爬虫&#xff0c;并将爬取到的数据存储到Django模型中&#xff0c;然后通过Django的管理页面管理这些数据。 1. 介绍 爬虫系统用于从互联网上收集信息&#xff0c;常用于…

Gin环境搭建详解

Gin环境搭建详解&#xff1a; 要安装Gin软件包&#xff0c;需要先安装Go并设置Go工作区。Gin环境搭建步骤如下&#xff1a; 【Gin框架】Gin环境搭建 Gin程序的热加载 Gin路由 GET POST PUT DELETE 1. 下载并安装 gin &#xff1a; $ go get -u github.com/gin-gonic/gin 2. …

Centos7下docker的jenkins下载并配置jdk与maven【图文教程】

个人记录 进入目录 cd /usr/local/JDK下载与配置 OpenJDK官网 下载安装 wget https://download.java.net/openjdk/jdk18/ri/openjdk-1836_linux-x64_bin.tar.gz解压 tar -zxvf openjdk-1836_linux-x64_bin.tar.gz ls ls jdk-18/编辑配置文件 vim /etc/profile配置环境变…

elementui树形组件自定义高亮颜色

1、需求描述&#xff1a;点击按钮切换树形的章节&#xff0c;同时高亮 2、代码实现 1&#xff09;style样式添加 <style> .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {background-color: #81d3f8 !important; //高亮颜色colo…

【C++题解】1005 - 已知一个圆的半径,求解该圆的面积和周长

问题&#xff1a;1005 - 已知一个圆的半径&#xff0c;求解该圆的面积和周长 类型&#xff1a;基础问题、小数运算 题目描述&#xff1a; 已知一个圆的半径&#xff0c;求解该圆的面积和周长。 输入&#xff1a; 输入只有一行&#xff0c;只有 1 个整数。 输出&#xff1a…

IJKPLAYER源码分析-OpenGL ES渲染

1 前言 IJKPLAYER在视频render之时&#xff0c;并非简单使用SDL渲染API&#xff0c;而是用了OpenGL ES&#xff0c;再分别在Android和iOS平台做视频的显示&#xff1b;一言以蔽之&#xff0c;OpenGL ES并不能做到直接在窗口上render并显示&#xff0c;而是需要一个中间媒介。这…

“AI程序员上岗:垂类大模型应用蓬勃发展“

AI程序员正在步入工作岗位&#xff0c;垂类大模型应用正迎来蓬勃发展的时期。随着人工智能大模型在各行业深入应用&#xff0c;像能自动编写代码的“AI员工”、智能客服的改进以及工业AI控制器的开发无需耗费大量时间&#xff0c;IT、工业生产、金融、服务营销等领域的垂类大模…

javaWeb网上零食销售系统

1 绪 论 目前&#xff0c;我国的网民数量已经达到7.31亿人&#xff0c;随着互联网购物和互联网支付的普及&#xff0c;使得人类的经济活动进入了一个崭新的时代。淘宝&#xff0c;京东等网络消费平台功能的日益完善&#xff0c;使得人们足不出户就可以得到自己想要的东西。如今…

[leetcode]remove-duplicates-from-sorted-list-ii

. - 力扣&#xff08;LeetCode&#xff09; 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2,5]示例 2&…

SpringCloudAlibaba-整合openfeign和loadbalence(三)

目录地址&#xff1a; SpringCloudAlibaba整合-CSDN博客 因为是order服务&#xff0c;调用user和product服务&#xff1b;所以这里在order模块操作&#xff1b; 1.引入依赖 <!--openfeign--> <dependency><groupId>org.springframework.cloud</groupId…

TestOps、TestDev、AIOps、NoOps

工具见&#xff1a;Katalon Platform | Integrations for End-to-End Software Testing 对于开发、测试、和运维又做了更为细节的划分&#xff1a; DevOps 开发兼运维 TestDev 开发兼测试 TestOps 测试兼运维 DevOps 和TestDev更注重编码能力&#xff08;本质就是开发&…