OpenCV绘图功能
在绘制任何图形之前,需要先使用np.zeros()来创建一个黑色图像。
np.zeros()有两个参数,一个是创建的图片矩阵大小,另一个是数据类型。
代码示例:
img = np.zeros((512,512,3), np.uint8)
512,512是像素(第一个512像素高,第二个是512像素宽),3指BGR三种颜色
uint8是用0-255表示所有颜色。
1.画线
cv.line()共7个参数,分别为:
①要在上面画线的图像对象
②线段起点坐标
③线段终点坐标
④线段颜色
⑤线段厚度
⑥线段类型
⑦坐标精确到小数点后第几位
代码示例:
cv.line(img,(0,0),(511,511),(255,0,0),5)
2.画矩形
cv.rectangle()共7个参数,分别为
①要在上面画矩形的图像对象
②矩形左上角坐标
③矩形右下角坐标
④矩形颜色
⑤矩形线条厚度
⑥矩形线条类型
⑦矩形坐标小数点位数
代码示例:
cv.rectangle(img,(384,0),(510,128),(0,255,0),3)
3.画圆圈
cv.circle()共7个参数,分别为
①要在上面画圆圈的图像对象
②圆心坐标
③圆圈半径
④圆圈颜色
⑤圆圈线条宽度
⑥圆圈线条类型
⑦圆心坐标小数点位数
代码示例:
cv.circle(img,(447,63), 63, (0,0,255), -1)
4.画椭圆
cv.ellipse()共10个参数,分别为
①要在上面画椭圆的图像对象
②椭圆中心坐标
③椭圆的长半轴和短半轴长度
④椭圆逆时针自转的角度
⑤椭圆弧从主轴开始(最常见的二维坐标系的x轴正向)顺时针绘制的开始角度
⑥椭圆弧从主轴开始(最常见的二维坐标系的x轴正向)顺时针绘制的结束角度
⑦椭圆颜色
⑧椭圆线条宽度
⑨椭圆线条类型
⑩椭圆坐标小数点位数
代码示例:
cv.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
5.画多边形
cv.polylines()共有7个参数,分别为
①要在上面画多边形的图像对象
②顶点矩阵
③多边形是否封闭(True为封闭,False为折线)
④多边形颜色
⑤多边形线条宽度
⑥多边形线条类型
⑦多边形顶点坐标小数点位数
代码示例:
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
cv.polylines(img,[pts],True,(0,255,255))
6.向图像添加文本
cv.putText()共9个参数,分别为
①要在上面添加文本的图像对象
②文本内容
③文本左下角坐标
④文本字体
⑤文本大小
⑥文本颜色
⑦文本线条宽度
⑧文本线条类型
⑨文本坐标小数点位数
代码示例:
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),10,cv.LINE_AA)
OpenCV绘图功能相关推荐
- OpenCV绘图和文本输出功能的实例(附完整代码)
OpenCV绘图和文本输出功能的实例 OpenCV绘图和文本输出功能的实例 OpenCV绘图和文本输出功能的实例 #include "opencv2/core.hpp" #incl ...
- OpenCV中的绘图功能 | 七
目标 学习使用OpenCV绘制不同的几何形状 您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等. 代码 ...
- python opencv单通道转多通道_13、OpenCV绘图和文本显示
我们经常想要绘制各种形状,为此,OpenCV提供了一系列功能,可以绘制直线,矩形,圆等.OpenCV的绘图功能适用于图像,但其中大多数仅影响前三个通道,在单通道图像的情况下仅默认第一个通道.大多数绘图 ...
- opencv ellipse函数_13、OpenCV绘图和文本显示
我们经常想要绘制各种形状,为此,OpenCV提供了一系列功能,可以绘制直线,矩形,圆等.OpenCV的绘图功能适用于图像,但其中大多数仅影响前三个通道,在单通道图像的情况下仅默认第一个通道.大多数绘图 ...
- python画空心圆图_OpenCV-Python系列之绘图功能
在图像中我们经常需要用到将某个局部特征画出来,比如物体检测,物体追踪等等,今天来看看有哪些好玩的绘图工具吧! 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像.我们使用numpy进行实验:im ...
- Matplotlib基础绘图功能 — 以折线图为例
1 完善原始折线图 - 给图形添加辅助功能 为了更好地理解所有基础绘图功能,通过天气温度变化的绘图来融合所有的基础API使用 需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在1 ...
- java使用重绘实现拖动_原生JS使用Canvas实现拖拽式绘图功能
一.实现的功能 1.基于oop思想构建,支持坐标点.线条(由坐标点组成,包含方向).多边形(由多个坐标点组成).圆形(包含圆心坐标点和半径)等实体 2.原生JavaScript实现,不依赖任何第三方j ...
- Qt 2D绘图功能简单总结
文章目录 Qt 2D绘图功能简单总结 Qt 2D绘图功能简单总结 Qt 的绘图功能非常强大,它可以绘制一切想要的图形,从最简单的一条直线到其他任何复杂的图形,还可以用来绘制文本和图片. Qt的绘图系统 ...
- OpenCV使用功能匹配模板的实例(附完整代码)
OpenCV使用功能匹配模板的实例 OpenCV使用功能匹配模板的实例 OpenCV使用功能匹配模板的实例 #include "opencv2/imgcodecs.hpp" #in ...
最新文章
- 【连载】优秀程序员的 45 个习惯之习惯35
- 北京集训:20180323
- 阿里云 Ubuntu16.04 部署 LAMP
- java创建datetime_Java OffsetDateTime ofInstant()用法及代码示例
- VTK:小部件之ImplicitPlaneWidget2
- 单元测试 代码里面都绝对路径怎么处理_原创 | 编写单元测试和实践TDD (六)测试哪些内容:Right-BICEP...
- 为什么用链路聚合_H3C ComwareV7平台网络设备可靠性配置——链路聚合
- uva 10061——How many zero\'s and how many digits ?
- Spring开发环境搭建和第一个示例程序
- 2022年中国政企采购数字化转型白皮书
- 如何将字节数组转换为十六进制字符串,反之亦然?
- 服务器机柜内手机信号,手机信号强度是什么
- php 中文名称排序 源码,四种排序算法PHP实现类
- java 链表插入排序,insertion Sort List (链表的插入排序) leecode java
- Knoll Light Factory 3.2 for Mac 完整汉化版 灯光工厂 for Mac中文版 支持PSCC2019
- DA转换器原理及应用(报告)
- 边境的悍匪—Kaggle—泰坦尼克号生还预测详细教程
- Wox - 开源免费强大的快捷启动器辅助工具,快速高效率打开软件/搜索文件!
- 游戏陪练 预约交友 语音聊天 双端APP源代码+编译说明
- Python学习记录——英文名修改成标准格式