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)

画出效果为:
draw_line

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)

draw_rectangle

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)

效果如下:
draw_circle

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)

实验效果如下:
putText

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

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

相关文章

Go 定时任务实现

定时任务简介 定时任务是指按照预定的时间间隔或特定时间点自动执行的计划任务或操作。这些任务通常用于自动化重复性的工作,以减轻人工操作的负担,提高效率。在计算机编程和应用程序开发中,定时任务是一种常见的编程模式,用于周…

大数据疫情分析及可视化系统 计算机竞赛

文章目录 0 前言2 开发简介3 数据集4 实现技术4.1 系统架构4.2 开发环境4.3 疫情地图4.3.1 填充图(Choropleth maps)4.3.2 气泡图 4.4 全国疫情实时追踪4.6 其他页面 5 关键代码最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据疫…

智慧社区大屏:连接社区生活的数字桥梁

随着科技的不断发展,智慧社区已经不再只是未来的概念,它已经在我们的眼前悄然崭露头角。智慧社区是一种基于数字技术的社区管理和生活方式,旨在提高社区的安全性、便利性和生活质量。而在这个数字化的社区中,智慧社区大屏起到了连…

Spire.Office for .NET 8.10.2 同步更新-Crk

Spire.Office for .NET是 E-iceblue 提供的企业级 Office .NET API 的组合。它包括Spire.Doc、Spire.XLS、Spire.Spreadsheet、Spire.Presentation、Spire.PDF、Spire.DataExport、Spire.OfficeViewer、Spire.PDFViewer、Spire.DocViewer、Spire.Barcode和Spire.Email。Spire.O…

一文深入搞懂ARM处理器架构

1、嵌入式处理器基础 典型的微处理器由控制单元、程序计数器(PC)、指令寄存器(IR)、数据通道、存储器等组成 。 指令执行过程一般分为: 取指: 从存储器中获得下一条执行的指令读入指令寄存器&#xff1…

对“Fork”做一个技术方面的简介

使用过 GitHub 的人大多知道它上面有个“Fork”的功能,用来将某个仓库克隆到你的账户之下,从而可以对其进行修改、衍生,也可以比较方便的将你的修改推回到原来的仓库(所谓的上游)。 随着 GitHub 的流行,我…

基于鹈鹕算法的无人机航迹规划-附代码

基于鹈鹕算法的无人机航迹规划 文章目录 基于鹈鹕算法的无人机航迹规划1.鹈鹕搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用鹈鹕算法来优化无人机航迹规划。 1.鹈鹕搜索算法 …

什么是微服务?与分布式又有什么区别?

什么是微服务,我们先从传统的单体结构进行了解,对两者进行对比。 单体结构 单体结构是一种传统的软件架构模式,它将应用程序划分为一组相互依赖的模块和组件。这些模块和组件通常都是构建在同一个平台上的,并且紧密耦合在一起。…

一款简简单单基于AIGC的文档翻译软件

一款文字/文件翻译的网站,支持多个领域的翻译,支持常见的语言翻译(韩/日/法/英/俄/德…),最大百分比的保持原文排版(及个别除外基本100%还原)。 新用户注册就有100页的免费额度,每月系统还会随机赠送翻译额度,说实话这比好多的企业要好的多了…

双十一电视盒子哪个牌子最好?老烧分享电视盒子品牌排行榜

在挑选电视盒子时很多人踩雷,我自己买过十来款电视盒子,存在不少问题,双十一这段时间身边买电视盒子的都会问我电视盒子哪个牌子最好,我今天来分享的是业内最专业的电视盒子品牌排行榜,双十一想买电视盒子可以从下面这…

人大金仓KingbaseES_V008R006C008B0014安装

人大金仓安装 一、安装前准备工作 1、硬件环境要求 KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏等国产CPU硬件体系架构。 2、软件环境要求 KingbaseES支持各种主流的Linux操作系统64位发行版本,包括CentOS、中标麒麟、银河麒麟、统信UOS、Deepin、凝思、中科方…

ConvNets 与 Vision Transformers:数学深入探讨

一、说明 我目睹了关于 Vision Transformer 的争论,讨论它们如何与 CNN 一样好或更好。我想知道我们是否也同样争论菠萝比西瓜好!或者马比海豚更好?其中许多讨论往往缺乏具体性,有时可能会歪曲上下文。 作为背景,在快速…

【owt】p2p client mfc 工程梳理

1年前构建的,已经搞不清楚了。所以梳理下,争取能用较新的webrtc版本做测试。最早肯定用这个测试跑通过 【owt】p2p Signaling Server 运行、与OWT-P2P-MFC 交互过程及信令分析官方的mfc客户端 估计是构造了多个不同的webrc版本的客户端

Spring:常见的面试题和答案

1、什么是 Spring 框架?Spring 框架有哪些主要模块? Spring 框架是一个为 Java 应用程序的开发提供了综合、广泛的基础性支持的 Java 平台。 Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。 Spring 框架…

Find My手机保护壳|苹果Find My与手机保护壳结合,智能防丢,全球定位

随着科技水平的快速发展,科技美容这一行业做为新型产业新生而出。时尚IT品牌随着市场的多元化发展。针对手机品牌和功能的增加而呈多样化,将手机保护壳按质地分有PC壳,皮革 ,硅胶,布料,硬塑,皮套…

OpenAI史诗级更新,最强大模型炸场,128K上下文、价格暴降2/3,定制专属GPT快到只需5分钟

今早,2023年最瞩目的人工智能大会举办! CSDN11月7日报道,今天凌晨2点,在OpenAI首届开发者大会上,OpenAI的首席执行官萨姆•阿尔特曼(Sam Altman)宣布了GPT-4、ChatGPT的年度最重磅更新。 OpenA…

设置Linux时间格式

一、事因 不知道什么时候我在输入ls -l 命令时候的显示变成了。 -rw-r--r-- 1 bossftp ftp 6796376499 915 05:31 rac_full_20230915.gz -rw-r--r-- 1 bossftp ftp 6804104515 104 05:25 rac_full_20231024.gz -rw-r--r-- 1 bossftp ftp 6804365525 105 05:29 rac_full_202…

Git 基础知识回顾及 SVN 转 Git 自测

背景 项目开发过程中使用的版本控制工具是 SVN,Git 多有耳闻,以前也偶尔玩过几次,但是工作中不用,虽然本地也有环境,总是不熟练。 最近看一本网络开源技术书时,下载源码部署了一下,又温故了一…

精读《算法题 - 二叉树中的最大路径和》

今天我们看一道 leetcode hard 难度题目:二叉树中的最大路径和。 题目 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点…

随时随地时时刻刻使用GPT类应用

疑问 很多人说GPT的广泛使用可能会使人们失业,会对一些互联网公司的存活造成挑战,那么这个说法是真的吗? 这个说法并不完全准确。虽然GPT等AI技术的广泛应用可能会对某些行业和职业产生影响,但并不意味着它会导致人们失业或互联网…