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 相关文章推荐
深入解读Python解析XML的几种方式
Feb 16 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 Python
基于Django用户认证系统详解
Feb 21 Python
python如何对实例属性进行类型检查
Mar 20 Python
Python中将变量按行写入txt文本中的方法
Apr 03 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
通过python检测字符串的字母
Feb 18 Python
python生成大写32位uuid代码
Mar 03 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 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
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
教大家制作简单的php日历
2015/11/17 PHP
Yii2汉字转拼音类的实例代码
2017/04/18 PHP
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
简单介绍Python中的len()函数的使用
2015/04/07 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Python 实现try重新执行
2019/12/21 Python
详解KMP算法以及python如何实现
2020/09/18 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
python中entry用法讲解
2020/12/04 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
销售总监工作职责
2013/11/21 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android