python opencv圆、椭圆与任意多边形的绘制实例详解


Posted in Python onFebruary 06, 2020

圆形的绘制 :

OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形

import cv2
import numpy as np
image=np.zeros((400,400,3),np.uint8)

cv2.circle(image,(200,200),50,(0,0,255),2) #画圆
'''
参数2 center:必选参数。圆心坐标
参数3 radius:必选参数。圆形半径
参数4 color:必选参数。用于设置待绘制圆形的颜色
参数5 thickness:可选参数。当该参数为正数时,表示待绘制圆形轮廓的粗细;当该参数为负值时,表示待绘制圆形为实心圆,即填充的圆形
参数6 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2.imshow('image',image)
cv2.waitKey()

椭圆的绘制:

OpenCV中使用ellipse(img,center,axes,angle,startAngle,endAngle,color,thickness=None,lineType=None,shift=None)函数绘制椭圆

import cv2
import numpy as np
image=np.zeros((400,400,3),np.uint8)

cv2.ellipse(image,(200,200),(100,150),0,30,360,(0,255,0),-1) #画椭圆
'''
参数2 center:必选参数。用于设置待绘制椭圆的中心坐标,确定椭圆的位置
参数3 axes:必选参数。用于设置待绘制椭圆的轴长度,为椭圆轴大小的一半。由于椭圆有两个轴,因此axes为一个包含两个值的元组
参数4 angle:必选参数。用于设置待绘制椭圆的偏转角度(以度为单位)--顺时针为正
参数5 startAngle:必选参数。用于设置待绘制椭圆的弧的起始角度(以度为单位)-x轴方向为0度
参数6 endAngle:必选参数。用于设置待绘制椭圆的弧的终止角度(以度为单位)。
参数7 color:必选参数。用于设置待绘制椭圆的颜色。
参数8 thickness:可选参数。当该参数为正数时,表示待绘制椭圆轮廓的粗细;当该参数为负值时,表示待绘制椭圆是实心的。
参数9 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2.imshow('image',image)
cv2.waitKey()

任意多边形的绘制:

OpenCV为我们提供了polylines(img,pts,isClosed,color,thickness=None,lineType=None,shift=None)函数来更方便地绘制任意多边

import cv2
import numpy as np
image=np.zeros((400,400,3),np.uint8)

points=np.array([[150,50],[140,140],[200,170],[250,250]],np.int32) #多边形的顶点坐标
cv2.polylines(image,[points],True,(255,0,0)) #画任意多边形
'''
参数2 pts:必选参数。表示待绘制多边形的折线数组--多边形的顶点坐标(按顺序)
参数3 isClosed:必选参数。用于设置绘制的折线是否关闭,若设置为True,则从折线的最后一个顶点到其第一个顶点会自动绘制一条线进行闭合。
参数4 color:必选参数。用于设置多边形的颜色
参数5 lineType:可选参数。用于设置线段的类型,可选8(8邻接连接线-默认)、4(4邻接连接线)和cv2.LINE_AA 为抗锯齿
'''
cv2.imshow('image',image)
cv2.waitKey()

以上就是本次介绍的全部相关知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Python实现读取txt文件并画三维图简单代码示例
Dec 09 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
python批量修改图片后缀的方法(png到jpg)
Oct 25 Python
python 使用 requests 模块发送http请求 的方法
Dec 09 Python
Python生态圈图像格式转换问题(推荐)
Dec 02 Python
Python面向对象封装操作案例详解
Dec 31 Python
python 数据类型强制转换的总结
Jan 25 Python
浅谈Python数学建模之整数规划
Jun 23 Python
详解非极大值抑制算法之Python实现
Jun 28 Python
Python输出指定字符串的方法
Feb 06 #Python
python实现简单飞行棋
Feb 06 #Python
python实现飞行棋游戏
Feb 05 #Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 #Python
Python操作Sqlite正确实现方法解析
Feb 05 #Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
Feb 05 #Python
Tensorflow累加的实现案例
Feb 05 #Python
You might like
php4与php5的区别小结(配置异同)
2011/12/20 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
js实现一个简易计算器
2020/03/30 Javascript
通过实例了解Nodejs模块系统及require机制
2020/07/16 NodeJs
ES6中的Javascript解构的实现
2020/10/30 Javascript
Python selenium文件上传方法汇总
2020/11/19 Python
Python算法应用实战之队列详解
2017/02/04 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
广告学专业毕业生自荐信
2013/09/24 职场文书
校园之声广播稿
2014/01/31 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
追悼会答谢词范文
2015/09/29 职场文书
考研经验交流会策划书
2015/11/02 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python
Golang 对es的操作实例
2022/04/20 Golang