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

圆形的绘制 :

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()

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

(0)

相关推荐

  • python opencv 实现对图像边缘扩充

    原始图像 根据图像的边界的像素值,向外扩充图片,每个方向扩充50个像素. a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REPLICATE) 把靠近边界的50个像素翻折出去(轴对称): a = cv2.copyMakeBorder(img,50,50,50,50,cv2.BORDER_REFLECT) 常数填充: a = cv2.copyMakeBorder(img,50,50,50,50, cv2.BORDER_CONSTANT,value

  • 基于Python3.6中的OpenCV实现图片色彩空间的转换

    不同的色彩空间中对图片的色彩体现有很大不同 #色彩空间的相互转换:最常见的是HSV与RGB,YUV与RGB的相互转换 #常见色彩空间有: #RGB:最常用 #HSV:对指定色彩铭感,用于查找表达特定颜色 #HIS: #YCrCb:在人体肤色识别运用较多 #YUV:Android开发中运用较多 以下是对图片进行所有色彩空间的演示: import cv2 as cv ###导入openc包 def color_space_demo(image): gray = cv.cvtColor(image,c

  • opencv python如何实现图像二值化

    这篇文章主要介绍了opencv python如何实现图像二值化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 import cv2 as cv import numpy as np import matplotlib.pyplot as plt # 二值图像就是将灰度图转化成黑白图,没有灰,在一个值之前为黑,之后为白 # 有全局和局部两种 # 在使用全局阈值时,我们就是随便给了一个数来做阈值,那我们怎么知道我们选取的这个数的好坏呢?答

  • opencv python图像梯度实例详解

    这篇文章主要介绍了opencv python图像梯度实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一阶导数与Soble算子 二阶导数与拉普拉斯算子 图像边缘: Soble算子: 二阶导数: 拉普拉斯算子: import cv2 as cv import numpy as np # 图像梯度(由x,y方向上的偏导数和偏移构成),有一阶导数(sobel算子)和二阶导数(Laplace算子) # 用于求解图像边缘,一阶的极大值,二阶的零点

  • opencv python Canny边缘提取实现过程解析

    这篇文章主要介绍了opencv python Canny边缘提取实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Canny是边缘提取算法,在1986年提出的是一个很好的边缘检测器Canny算法介绍 非最大信号抑制: 高低阈值连接: example import cv2 as cv import numpy as np # canny运算步骤:5步 # 1. 高斯模糊 - GaussianBlur # 2. 灰度转换 - cvtCol

  • python opencv如何实现图片绘制

    这篇文章主要介绍了python opencv如何实现图片绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 点和圆 : circle(img,center,radius,color,thickness=None,lineType=None,shift=None).各参数意义及作用如下. img:待画圆所在的图像. center:待画圆的圆心坐标. radius:待画圆的半径. color:待画圆的边框颜色,颜色格式为bgr格式.就是通道值 th

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

    圆形的绘制 : 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:必选参数

  • Python网络安全格式字符串漏洞任意地址覆盖大数字详解

    格式化字符串漏洞覆盖大数字时,如果选择一次性输出大数字个字节来进行覆盖,会很久很久,或者直接报错中断,所以来搞个攻防世界高手区的题目来总结一下 pwn高手区,实时数据监测这道题,就是格式化字符串漏洞覆盖大数字 题目运行时会直接告诉你key的地址,我们只需要利用imagemagic中的printf利用格式化字符串漏洞来覆盖就行了,但就像刚才说的,直接覆盖时间太久了而且会报错,所以可以想想别的办法 如果我们想覆盖key为0x02223322,那么根据小端存储,在内存中就是\x22 \x33 \x22

  • opencv调用yolov3模型深度学习目标检测实例详解

    目录 引言 建立相关目录 代码详解 附源代码 引言 opencv调用yolov3模型进行深度学习目标检测,以实例进行代码详解 对于yolo v3已经训练好的模型,opencv提供了加载相关文件,进行图片检测的类dnn. 下面对怎么通过opencv调用yolov3模型进行目标检测方法进行详解,付源代码 建立相关目录 在训练结果backup文件夹下,找到模型权重文件,拷到win的工程文件夹下 在cfg文件夹下,找到模型配置文件,yolov3-voc.cfg拷到win的工程文件夹下 在data文件夹下

  • 对python中的float除法和整除法的实例详解

    从python2.2开始,便有两种除法运算符:"/"."//".两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下,"/"所做的除法是以一种两个数或者多个数出现一个浮点数结果就以浮点数的形式表示,即float除法 "//"所做的除法则不相同,"//"不管两者出现任何数,都以整除结果为准,不对小数部分进行处理,直接抛弃,也就是整除法 以下是笔者在编译器测试的数据,

  • 对python读取zip压缩文件里面的csv数据实例详解

    利用zipfile模块和pandas获取数据,代码比较简单,做个记录吧: # -*- coding: utf-8 -*- """ Created on Tue Aug 21 22:35:59 2018 @author: FanXiaoLei """ from zipfile import ZipFile import pandas as pd myzip=ZipFile('2.zip') f=myzip.open('2.csv') df=pd.r

  • python爬虫智能翻页批量下载文件的实例详解

    python爬虫遇到爬取文件内容时,需要一页页的翻页爬取,这样很是麻烦,其实可以获取每个列表信息下的文件名和文件链接,让文件名和文件链接处理为列表,保存后下载,实现智能翻页批量下载文件,本文以以京客隆为例,批量下载文件,如财务资料,他的每一份报告都是一份pdf格式的文档.以此页面为目标,下载他每个分类的文件python爬虫实战之智能翻页批量下载文件. 1.引入库 import requests import pandas as pd from lxml import etree import r

  • python词云库wordcloud的使用方法与实例详解

    wordcloud是优秀的词云展示第三方库 一.基本使用 import jieba import wordcloud txt = open("1.txt", "r", encoding='utf-8').read() words = jieba.lcut(txt) txt_1 = " ".join(words) # print(txt1) w = wordcloud.WordCloud(font_path="msyh.ttc"

  • Python变量、数据类型、数据类型转换相关函数用法实例详解

    本文实例讲述了Python变量.数据类型.数据类型转换相关函数用法.分享给大家供大家参考,具体如下: python变量的使用不需要进行类型声明(类型名 变量名),给一个变量名赋什么值就是什么类型. 变量的赋值使用 = 说明:虽然python声明变量时没有一个类型来圈注,但它并不是弱类型语言,相反,它是一门强类型语言. 弱类型的语言的东西没有明显的类型,它能随着环境的不同自动变换类型: 而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作 为什么说 Python 是强类型

  • Opencv学习教程之漫水填充算法实例详解

    前言 基本思想是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,经常用来标记或者分离图像的一部分进行处理或分析.漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或者只处理掩码指定的像素点.其中掩膜Mask用于进一步控制那些区域将被填充颜色(比如说当对同一图像进行多次填充时). int floodFill(inputoutputArray,inputoutputMask,seedPoint,Scalar newVal,Rect* rect=0,Scalar loDiff=

  • Python找出文件中使用率最高的汉字实例详解

    本文实例讲述了Python找出文件中使用率最高的汉字的方法.分享给大家供大家参考.具体分析如下: 这是我初学Python时写的,为了简便,我并没在排序完后再去掉非中文字符,稍微会影响性能(大约增加了25%的时间). # -*- coding: gbk -*- import codecs from time import time from operator import itemgetter def top_words(filename, size=10, encoding='gbk'): co

随机推荐