opencv中常用的绘制集合图形的函数

【Opencv】cv::rectangle、cv::getTextSize、cv::putText、cv::Rect函数详解和示例 本文通过原理详解和示例说明,对cv::rectangle、cv::getTextSize、cv::putText、cv::Rect函数进行了详细的解读,有助于读者的理解和使用。 阅读详情

在这里插入图片描述

line

void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)

参数:
img: 要绘制线段的图像。
pt1: 线段的起点。
pt2: 线段的终点。
color: 线段的颜色,通过一个Scalar对象定义。
thickness: 线条的宽度。
lineType: 线段的类型。可以取值8, 4, 和CV_AA, 分别代表8邻接连接线,4邻接连接线和反锯齿连接线。默认值为8邻接。为了获得更好地效果可以选用CV_AA(采用了高斯滤波)。
shift: 坐标点小数点位数

示例:

line(inputOutputimg, beginPoint, endPoint, Scalar(0, 0, 255), 1,8,0);

ellipse()

	bool ellipse(
		cv::Mat& img, // 待绘制的图像
		cv::Point center, // 椭圆中心
		cv::Size axes, // 椭圆长轴和短轴的长度
		double angle, // 长轴倾角
		double startAngle, // 弧度绘制的起始角度
		double endAngle, // 弧度绘制的
		const cv::Scalar& color, // 线条的颜色(RGB)
		int thickness = 1, // 线宽
		int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)
		int shift = 0 // 偏移量
	);
	bool ellipse(
		cv::Mat& img, // 待绘制的图像
		const cv::RotatedRect& rect, // 椭圆的外切矩形
		const cv::Scalar& color, // 线条的颜色(RGB)
		int thickness = 1, // 线宽
		int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)
		int shift = 0 // 偏移量
	);

这两个重载函数,有其他的命名:

void cvEllipse( CvArr* img, CvPoint center, CvSize axes, double angle,
                double start_angle, double end_angle, CvScalar color,
                int thickness=1, int line_type=8, int shift=0 );
void cvEllipseBox( CvArr* img, CvBox2D box, CvScalar color,
                   int thickness=1, int line_type=8, int shift=0 );

在这里插入图片描述

案例:
用定义

    ellipse(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2),
        Size(WINDOW_WIDTH / 4, WINDOW_WIDTH / 16), angle, 0, 360, Scalar(255, 129, 0),
        thickness, lineType);

用外切矩形

RotateRect r(Point2f(100,200),Size2f(50,100),45);
ellipes(resimg,r,Scalar(255,129,0),1,8);

retangle()

	void rectangle(
		cv::Mat& img, // 待绘制的图像
		cv::Point pt1, // 矩形的第一个顶点
		cv::Point pt2 // 矩形的对角顶点
		const cv::Scalar& color, // 线条的颜色(RGB)
		int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)
		int shift = 0 // 偏移量
	);
	void rectangle(
		cv::Mat& img, // 待绘制的图像
		cv::Rect r, // 待绘制的矩形
		const cv::Scalar& color, // 线条的颜色(RGB)
		int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)
		int shift = 0 // 偏移量
	);

fillpoly

	void fillPoly(
		cv::Mat& img, // 待绘制的图像
		const cv::Point** pts, // c风格的点序列的序列
		int* npts, // 'pts[i]'中点的数目
		int ncontours, // 'pts'中的序列数
		const cv::Scalar& color, // 线条的颜色(RGB)
		int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)
		int shift = 0, // 偏移量
		cv::Point offset = Point() // 整体偏移量
	);

案例:


{
    Mat img(500, 500, CV_8U, Scalar(0));
 
    Point root_points[1][4];
    root_points[0][0] = Point(215,220);
    root_points[0][1] = Point(460,225);
    root_points[0][2] = Point(466,450);
    root_points[0][3] = Point(235,465);
 
    const Point* ppt[1] = {root_points[0]};
    int npt[] = {4};
    
    polylines(img, ppt, npt, 1, 1, Scalar(255),1,8,0);
    
    imshow("Test", img);
    waitKey();
    

参考博客:
1.【OpenCV3】几何图形(直线、矩形、圆、椭圆、多边形等)绘制
2. 官方文档

『OpenCV-Python』绘制图形 推荐使用 OpenCV 做目标检查时,我们可以通过 OpenCV 提供的图形绘制功能,将监测到的目标框起来,方便我们调试。这些功能在数据可视化、图像标注等场景中非常实用。本文可在公众号免费阅读用法都很简单,动手试试~ 阅读详情

相关推荐

OpenCV-Python实战(3)——OpenCV中绘制图形与文本

OpenCV 是一个的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。本文介绍了 OpenCV 提供的与绘制图形和文本相关的函数。在图形方面,我们了解了如何绘制基本图形(直线、矩形和圆形等)以及高级图形(剪裁线、箭头、椭圆和多边形)。在文本方面,我们了解了如何绘制文本以及 OpenCV 库中的所有可用字体。

盼小辉丶的博客 2万+

opencv(12):cv::rectangle学习与代码演示,使用opencv画矩形/矩形框

绘制一个简单的、粗的或填充的直角矩形或直角矩形框。

biter0088的博客 1万+

OpenCV-Python实战(番外篇)——OpenCV中利用鼠标事件动态绘制图形

OpenCV 是一个的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。在学习了如何使用 OpenCV 绘制图形和文本后,为了将进一步演示和利用所学的绘图函数,本文将学习如何使用鼠标事件执行动态绘图(例如鼠标按下时,在鼠标处动态绘制图形)。

盼小辉丶的博客 1万+

python-opencv第五期:rectangle函数详解

rectangle函数的主要作用是给指定的区域加上矩形边框,使图片即将要处理的目标区域可视化,这样就便于我们对要目标区域在处理时,有了一个同步的了解,便于我们在调试的同时查找问题所在。(双密码,双空间,工作生活分别存储,互不干扰。记住:跑得快不一定赢,不跌跟头才是成功。8***钛金rectangle)

追星,但也不要忘了土地 1万+

实战OpenCV之绘制图形

OpenCV除了用于图像显示之外,还提供了一系列接口和工具,以帮助开发者在图像上绘制各种图形。这里的图形包括:直线、矩形、圆形、椭圆、多边形等。另外,OpenCV还支持在图像上添加文字,对多张图像进行叠加操作。

hope_wisdom的技术博客 4888

OpenCV开发笔记(七):OpenCV基础图形绘制

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.youkuaiyun.com/qq21497936 本文章博客地址:https://blog.youkuaiyun.com/qq21497936/article/details/101026612 目录 前言 Demo 基础绘制 绘制直线:line 绘制椭圆:ellipse 绘制矩形:rectangle 绘制圆形:circle ...

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 4万+

opencv基础篇四

本篇是整理小破站上的《3h精通》视频中的代码。

weixin_74762645的博客 479

横向柱形图

横向柱形图

如何用opencv绘制点

for id,point in enumerate(landmarks): # 68点坐标 #获取x,y坐标 pos = (point[0,0],point[0,1]) print(idx,pos) # 利用cv2.circle给每个特征点画一个圈,共68个 cv2.circle(img_src, pos, 4, color=(0, 255, 0)) # 利用cv2.putText输出1-68 font = cv2.FONT_.

重剑无锋博客 1万+

Opencv和图像分类

使用Opencv进行图像分类的应用程序,对图像的区分程度不错。

PROFINET非周期数据通信实战:从报文解析到参数读写

本文详细解析了PROFINET非周期数据通信的实战应用,从报文结构到参数读写全流程。通过西门子PLC与驱动器的配置案例,深入讲解非周期通信在工业自动化中的关键作用,包括硬件选型、软件配置及常见问题排查,帮助工程师高效实现设备参数配置与诊断。

weixin_42522953的博客 512

OpenCV识别图形以及常用函数处理

前言 识别图形 常用函数介绍 前言 OpenCV在图像处理与计算机视觉方面有很多通用算法。因此可以用来人脸识别、图形识别、文字识别等等。对于复杂一点识别的可能还涉及到大量的识别训练,最后的匹配比较分类等等。后续可能会介绍文字识别、人脸识别等等。 图形识别 图形识别指的是对常见的几何图形进行识别,它通过opencv进图形处理(二值化,图片灰度化,细化等等),获取图形轮廓特征,然后在应用几何图形...

liunanya的博客 5830

LAMMPS ReaxFF模拟后处理:如何用Python精准追踪C-N键的断裂与形成?

本文详细介绍了如何利用Python对LAMMPS ReaxFF模拟结果进行后处理,精准追踪C-N键的断裂与形成过程。通过解析键级输出文件、构建原子类型映射字典,并实现C-N键的统计与可视化,为材料科学和催化反应研究提供了高效的数据分析解决方案。文章特别强调了ReaxFF力场在断键分析中的关键作用,并提供了完整的Python代码实现。

weixin_28706923的博客 355

十一、OpenCV中图形的绘制

本文主要介绍OpenCV中图形的绘制。

TechNomad的博客 1038

高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解

在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对

weixin_30342363的博客 186

纯JS实现SM3加密算法(兼容IE浏览器)

纯JS实现SM3加密,IE、谷歌、火狐等浏览器可以直接使用。

qianpou的博客 7348

详解用OpenCV绘制各类几何图形

本文详细介绍了OpenCV绘制几何图形的方法,利用cv2.line()、v2.circle()、cv2.rectangle()、cv2.ellipse()、cv2.polylines()、cv2.putText()函数实现。

华为云官方博客 8085

无人机核心部件解析:从机架到飞控的全面指南

本文全面解析无人机的核心部件,从机架材质选择到飞控系统调参,提供专业指南。重点介绍碳纤维机架、无刷电机搭配、锂聚合物电池管理及飞控传感器配置,帮助读者掌握无人机组装与优化的关键技术,适用于航拍、测绘、农业植保等多种应用场景。

weixin_30872499的博客 465

【graphics】图形绘制 C++

众所周知,周知所众,图形绘制对于竞赛学僧毫无用处,所以这个文章,专门对相关人员教学(成长中的码农、高中僧、大学僧)。他人经验教学参考。

jimmyLuo5的博客 1437

利用python语言进行相机标定

利用python语言进行相机标定 目录利用python语言进行相机标定一、相机标定相关原理1.相机标定简介2.坐标映射2.1图像坐标系1)图像坐标系(Pixel coordinate system)2)成像平面坐标系(Retinal coordinate system)3)摄像机坐标系(Camera coordinate system)4)世界坐标系(World coordinate system)二、相机标定算法流程1.镜头畸变1.1径向畸变1.2切向畸变2.相机标定算法求解外参内参和单应矩阵关系求解(张

qq_44818951的博客 4698

金融领域强化学习在高频交易中的应用

强化学习(Reinforcement Learning,简称RL)是一种机器学习范式,通过智能体与环境的交互来学习策略,以最大化累计奖励。与监督学习和无监督学习不同,强化学习依赖于动态的反馈机制,智能体通过试错不断优化决策过程。高频交易(High-Frequency Trading,简称HFT)是指在极短时间内进行的大量金融交易,通常利用算法和计算机系统自动执行交易策略。高频交易依赖于高速的数据处理和决策能力,以捕捉市场中的微小价格波动。状态(State):环境在某一时刻的观测,反映了系统的当前情况。

AI天才研究院 888

用OpenCV画简单图形以及绘制栅格地图

要完成opencv绘制栅格地图,需要具备的基础知识:opencv相关函数的简单使用(包括简单图形和网格的绘制)

2301_76360523的博客 2621

智能手环嵌入式系统:STM32+ESP8266多传感器健康监护设计

可穿戴健康监测设备是物联网与边缘计算融合的典型应用,其核心在于多源生理信号采集、低功耗实时处理及安全云协同。基于光电容积脉搏波(PPG)的心率与血氧检测、NTC热敏电阻体温测量、加速度-角速度融合跌倒判据等技术,构成了老年健康监护的基础感知能力;而STM32主控与ESP8266协处理器分工架构,则实现了计算资源与通信负载的高效解耦。该方案依托FreeRTOS多任务调度、阿里云IoT物模型标准化交互及MQTT双向通信,兼顾实时性、可靠性和工程可维护性,广泛适用于居家养老、慢病管理与远程健康预警等场景。

weixin_33256096的博客 97

OpenCV+python实现图形绘制

OpenCV+python实现图形绘制简介一、线段绘制未完待续 简介 我们把图形绘制分为形状、文字、图片三种,其中形状绘制诸如线段、三角形、圆形等等。 一、线段绘制 我们首先来了解一下简单的线段绘制: 在线段绘制中我们使用的是line函数,我们首先只使用它的前四个参数(第一个参数表示目标图片数据, 二表示线段起始位置,三表示终止位置,四表示线段的颜色): import cv2 import numpy as np newImageInfo=(500,500,3) #定义图片的宽高信息 dst=np..

weixin_44051854的博客 3905

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OpenCV_03图形绘制

绘制基本图形 圆 椭圆 多边形 文本 实战演练 代码如下:

weixin_45231460的博客 3874

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: opencv中Mat对象的构造函数与常用方法
下一篇: Leetcode reorder-list
dlvector
博客等级 码龄10年 85粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值