python用cv2画图(line, rectangle, text等)
Python做图像图形研究的时候,通常需要画很多辅助几何形状(比如bounding box等)。基于opencv的几何图形绘制具有易用性,而且天然能和numpy数组交互。
本文总结了几种常用的cv2画几何图形的方法,当一个简易的手册使用:
1. 直线绘制:cv2.line
输入规范如下:
cv2.line(image, start_point, end_point, color, thickness)
两点确定一条直线,所以我们需要明确起始点,终点的位置即可。另外,我们可以通过color和thickness确定直线的颜色和厚度。我们来看一个小demo:
import cv2
import numpy as npblank = np.zeros((224, 224, 3), np.uint8)# draw line
cv2.line(blank, (22, 99), (83, 200), (255, 255, 255), 2)
cv2.imwrite("line.png", blank)
画出效果为:

2. 矩形绘制:cv2.rectangle
输入规范如下:
cv2.rectangle(img, pt1, pt2, color, thickness, lineType, shift )
同样,两点(左上角和右下角)确定一个矩形。我们看一下demo:
import cv2
import numpy as npblank = np.zeros((224, 224, 3), np.uint8)# draw rectangle
cv2.rectangle(blank, (22, 99), (83, 200), (255, 255, 255), 2)
cv2.imwrite("rect.png", blank)

3. 圆形绘制:cv2.circle
输入规范:
cv2.circle(img, center, radius, color, thickness=None, lineType=None, shift=None)
通过圆心坐标和半径即可确定一个圆。实验如下:
import cv2
import numpy as npblank = np.zeros((224, 224, 3), np.uint8)# draw circle
cv2.circle(blank, (112, 112), 12, (255, 255, 255), 1)
cv2.imwrite("circle.png", blank)
效果如下:

4. 输入文字:cv2.putText
cv2.putText(image, text, org, font, fontScale, color, thickness, lineType=None, bottomLeftOrigin=None)
确定文本、文字位置、字体。实验如下:
import cv2
import numpy as npblank = np.zeros((224, 224, 3), np.uint8)# draw rectangle
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(blank, "helloworld", (80,90), font, 0.5, (255,255,255), 1)
cv2.imwrite("text.png", blank)
实验效果如下:

相关文章:
python用cv2画图(line, rectangle, text等)
Python做图像图形研究的时候,通常需要画很多辅助几何形状(比如bounding box等)。基于opencv的几何图形绘制具有易用性,而且天然能和numpy数组交互。 本文总结了几种常用的cv2画几何图形的方法,当一个简易的手册使用&a…...
解决方案中word中分页符的使用
在投标方案中要善于使用“分页符”,尽可能少使用分节符号,没有分页符前,你每次修改你的标书或者文件,增加或者修改内容后。你的格式字段前后都是会发生变化,如何稳定的保证结构呢,那就是分页符的使用&#…...
ubuntu20.04下apache启用php7.4-fpm
默认的apache不解析php文件: 直接安装提示依赖有问题: libapache2-mod-php7.4 : Depends: php7.4-common ( 7.4.3-4ubuntu2.19) but 1:7.4.33-8ubuntu20.04.1deb.sury.org1 is to be installed rootfv-az1492-145:/tmp# sudo apt install libapache2-…...
在 CentOS 服务器上部署 JAR 文件到 Docker 容器
标题:在 CentOS 服务器上部署 JAR 文件到 Docker 容器的详细步骤 步骤 1: 确保 Docker 已安装 在开始之前,确保在 CentOS 服务器上已经安装了 Docker。如果没有安装,可以使用以下命令进行安装: sudo yum install docker步骤 2:…...
vector类模拟实现(c++)(学习笔记)
vector 构造函数析构函数[]push_backsize()capacity()reserve()push_back() 迭代器实现非const和const版本 pop_back()resize()insert()***重点erase()***重点再谈构造函数!拷贝构造函数****(重点)运算符重载***(重点)…...
Redis Sentinel 哨兵模式
Sentinel 哨兵模式 Redis Sentinel 官网 Redis 的 Sentinel 文档 -- Redis中国用户组(CRUG) Sentinel Redis 命令参考(红色) Sentinel 通过监控的方式获取主机的工作状态是否正常,当主机发生故障时, Senti…...
实用篇-MQ消息队列
一、初识MQ 通讯分为同步通讯和异步通讯,同步通讯就比如我们日常生活中的打电话,看直播,能够得到及时的反馈。而异步通讯则类似于聊天软件聊天,不需要建立实时的连接,并且可以进行建立多个业务一起异步执行 1. 同步通…...
springboot打包时依赖jar和项目jar分开打包;jar包瘦身
概述 最近感觉项目在部署时时jar包传输太慢了; 看了下jar包内容,除了项目代码,其余大部分都是依赖jar; 平时改动较多的只是项目代码,依赖jar改动比较少; 所以就在想能不能分开打包;这样只部署项…...
嵌入式系统的元素
注意:关于嵌入式系统的元素这一块儿内容,定义太多了。例如:吉姆莱丁 著,陈会翔 译,由清华大学出版社出版的《构建高性能嵌入式系统》中提到:嵌入式系统通常由电源、时基、数字处理、内存、软件和固件、专用…...
提升ChatGPT答案质量和准确性的方法Prompt engineering实用的prompt灵感和技巧
文章目录 1. 实用的prompt灵感和技巧小技巧常用prompt保存到输入法中普通promptprompt通用公式保存到输入法快捷指令中尝试用英语去写prompt沉浸式翻译软件3. 补充1. 实用的prompt灵感和技巧 解释***,并且给出暗喻/隐喻/类比(解释术语、专业名称,用一个词或短语指出常见的一…...
[Machine Learning] Learning with Noisy Labels
文章目录 随机分类噪声 (Random Classification Noise, RCN)类别依赖的标签噪声 (Class-Dependent Noise, CCN)二分类多分类 实例和类别依赖的标签噪声 (Instance and Label-Dependent Noise, ILN) 标签噪声是指分类任务中的标签被错误地标记。这可能是由于各种原因,…...
集简云slack(自建)无需API开发轻松连接OA、电商、营销、CRM、用户运营、推广、客服等近千款系统
slack是一个工作效率管理平台,让每个人都能够使用无代码自动化和 AI 功能,还可以无缝连接搜索和知识共享,并确保团队保持联系和参与。在世界各地,Slack 不仅受到公司的信任,同时也是人们偏好使用的平台。 官网&#x…...
Idea 对容器中的 Java 程序断点远程调试
第一种:简单粗暴型 直接在java程序中添加log.info(),根据需要打印信息然后打包覆盖,根据日志查看相关信息 第二种:远程调试 在IDEA右上角点击编辑配置设置相关参数在Dockerfile中加入 "-jar", "-agentlib:jdwp…...
vscode设置保存后,自动格式化代码
第一步:打开setting.json文件 第二步:在setting.json中加入以下代码 "editor.formatOnType": true, "editor.formatOnSave": true, "editor.formatOnPaste": true...
datagrip出现 java.net.ConnectException: Connection refused: connect.
出现这样的情况要看一下hadoop有没有启动 start-all.sh nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service hiveserver2 & scp -r /export/server/apache-hive-3.1.2-bin/ node3:/export/server/ /export/server/apache-hive-3.1.2-bin/bin/hive show databa…...
Docker 安装ELK7.7.1
(在安装之前,本方法必须安装jdk1.8以上版本) 一、安装elasticsearch 1、下载elasticsearch7镜像:docker pull elasticsearch:7.7.1 2、创建挂载目录:mkdir -p /data/elk/es/{config,data,logs} 3、赋予权限:chown -R 1000:100…...
决策树算法
决策树算法是一种用于分类和回归问题的机器学习算法。它通过构建树形结构来进行决策,每个内部节点代表一个特征或属性,每个叶子节点代表一个类别或值。 下面是决策树算法的一般步骤: 数据准备:收集相关的训练数据,并对…...
maven之pom文件详解
一、maven官网 maven官网 maven官网pom文件详解链接 二、maven之pom 1、maven项目的目录结构 pom文件定于了一个maven项目的maven配置,一般pom文件的放在项目或者模块的根目录下。 maven的遵循约定大于配置,约定了如下的目录结构: 目录目…...
深度学习之基于Python+OpenCV+dlib的考生信息人脸识别系统(GUI界面)
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习在人脸识别领域的应用已经取得了显著的进展。Python是一种常用的编程语言,它提供了许多强大的库…...
创建javaEE项目(无maven),JSP(九大内置对象)、Servlet(生命周期)了解
一、Servlet和jsp 0.创建web项目(无maven): 1.创建一个普通的java项目 2.项目根目录右键,添加模板 3.配置tomcat服务器 4.配置项目tomcat依赖 1.Servlet(Server Applet)服务端小程序 用户通过浏览器发送一个请求,服务器tomcat接收到后&…...
别再只会用ActivePart了!CATIA二次开发中,如何用C#递归遍历任意复杂结构树?
CATIA二次开发进阶:用C#递归算法征服任意复杂装配树 在CATIA二次开发领域,ActivePart就像新手司机的自动挡——简单易用却限制重重。当面对包含数百个零件的飞机发动机装配体,或是横跨多个产品的汽车底盘系统时,仅能操作当前激活零…...
Box64终极指南:5分钟学会在ARM设备上运行x86_64程序
Box64终极指南:5分钟学会在ARM设备上运行x86_64程序 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_mirrors/bo/box64 你是否曾经梦…...
别再为地址映射头疼了!台达DVP50MC11T与西门子/欧姆龙PLC的Modbus通信差异对比
台达DVP50MC11T与主流PLC的Modbus通信地址映射实战解析 在工业自动化项目中,Modbus通信协议因其简单可靠的特点被广泛应用。但对于熟悉西门子或欧姆龙PLC的工程师来说,初次接触台达DVP50MC11T系列时,往往会对其特殊的地址映射方式感到困惑。…...
【Midjourney v8图像修复终极指南】:9大隐藏参数调优+3类高频崩坏场景实战修复(2024官方未公开文档级解析)
更多请点击: https://intelliparadigm.com 第一章:Midjourney v8图像修复功能全景概览 Midjourney v8 引入了革命性的图像修复(Image Inpainting)能力,不再依赖外部图层或第三方工具,而是通过原生提示词指…...
HS2-HF_Patch深度解析:Honey Select 2终极增强补丁实战指南
HS2-HF_Patch深度解析:Honey Select 2终极增强补丁实战指南 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF_Patch是一款专为Honey Select 2游…...
精通 Harness架构 :DeerFlow 2.0 的 lead_agent 任务总调度 架构设计与实现解析
今天不聊虚的,我们直接切进核心代码。 看看它是怎么把责任链模式、配置驱动思维和任务编排哲学,严丝合缝地揉进 LangGraph 骨架里的。顺便对标一下微软 AutoGen AG2 最新的架构演进,你会发现,行业对 Agent 运行时(Age…...
从遥感图像到文字识别:手把手教你用旋转目标检测搞定那些‘歪着’的目标
旋转目标检测实战:从遥感图像到倾斜文本的高效解决方案 在计算机视觉领域,目标检测技术已经取得了长足进步,但传统水平边界框检测方法在面对旋转目标时往往表现不佳。无论是遥感图像中的飞机、船舶,还是自然场景中倾斜的文本&…...
别再傻傻分不清!用Python+Matplotlib手把手教你画出NBI和WBI的频谱与时频图
用PythonMatplotlib实战解析NBI与WBI的频谱与时频特性 在信号处理领域,窄带干扰(NBI)和宽带干扰(WBI)的区分对雷达系统、通信工程等应用至关重要。理论教材中复杂的数学公式常常让初学者望而生畏,而可视化呈现能瞬间让抽象概念变得直观可感。本文将带您用…...
如何高效清理重复图片?AntiDupl.NET智能去重工具详解
如何高效清理重复图片?AntiDupl.NET智能去重工具详解 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 在数字资产管理中,重复文件清理已成为提升…...
汉高2026年第一季度实现稳健有机销售增长
美通社消息:汉高公布了2026年第一季度的销售额,约为50亿欧元,有机(即根据汇率和收购/撤资进行调整后)销售额实现1.7%的稳健增长。两大业务部门均拉动业绩增长,销量与价格均实现正向增长。第一季度欧洲地区的有机销售下降3.4%。在印…...
