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

原文地址:https://www.cnblogs.com/liming19680104/p/12267467.html

时间: 2024-10-09 16:21:15

python-opencv-圆、椭圆与任意多边形的绘制的相关文章

python OpenCV使用

关于OpenCV简介  OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python.Ruby.MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法.OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口. 在计算机视觉项目的开发中,OpenCV作为较大众的开源库,拥有了丰富的常

Python+OpenCV图像处理(五)—— ROI与泛洪填充

一.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 代码如下: #进行图片截取.合并.填充 import cv2 as cv src=cv.imread('E:\imageload\lena.jpg') cv.namedWindow('first_image', cv.WINDOW_AUTOSIZE) cv.imshow('first_image', src

MFC 直线 虚线 折线 圆 椭圆 矩形 弧形

****Dlg.h头文件添加: //为工程添加画笔.点变量数组 public: CPen m_pen[5]; CPoint m_point[5]; public: void DrawLine(CDC *pDC); void DrawPolyline(CDC *pDC); void DrawPolygon(CDC *pDC); void DrawRect(CDC *pDC); void DrawRoundRect(CDC *pDC); void DrawEllipse(CDC *pDC); voi

判断点是否在任意多边形内

最近项目用到:在Google map上判断事发地点,是否在管辖区域内.也就是典型的判断一个点是否在不规则任意多边形内的例子. 但是Google Map没有提供相应的api,找资料发现百度地图提供了一个工具类,肿么办,为了一个工具类,加入百度地图吗,操蛋,这是不可能的! 百度地图api链接:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_7_0/com/baidu/mapapi/utils/SpatialRelationUtil.html Po

RPi 2B python opencv camera demo example

/************************************************************************************** * RPi 2B python opencv camera demo example * 声明: * 本文主要记录RPi 2B 使用python opencv来获取图片的方式. * * 2016-2-24 深圳 南山平山村 曾剑锋 **********************************************

[NetTopologySuite](2)任意多边形求交

任意多边形求交: private void btnPolygon_Click(object sender, EventArgs e) { double[] Xs = new double[] { 30, 260, 130, 350, 250, 330, 320, 180, 250, 50, 70, 60, 30, 260 }; double[] Ys = new double[] { 140, 260, 110, 150, 230, 210, 140, 260 }; int m = Xs.Len

求任意多边形的面积(转)

原文地址:http://blog.csdn.net/sun_shine_/article/details/18799739 给定多边形的顶点坐标(有序),让你来求这个多边形的面积,你会怎么做?我们知道,任意多边形都可以分割为N个三角形,所以,如果以这为突破点,那么我们第一步就是把给定的多边形,分割为数个三角形,分别求面积,最后累加就可以了,把多边形分割为三角形的方式多种多样,在这里,我们按照如下图的方法分割: 图1 S点作为起始点(点1),a->e依次作为点2,3…….一个三角形的面积是怎样的呢

python opencv 人脸识别初识

甲.希望通过python加opencv搭建自己的人脸识别判断库 参照如下网页,配置python opencv开发环境, {博主ma6174} http://www.cnblogs.com/ma6174/archive/2013/03/31/2991315.html ubuntu中已有python-opencv的库,安装方便 sudo apt-get install libopencv-* sudo apt-get install python-opencv sudo apt-get instal

zoj 1081 Points Within 判断点是否在任意多边形内(模板)

题目来源: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=81 分析: 从p点出发做平行于x轴的射线 l. 求射线与 多边形 线段的交点数num, 若是偶数 , 该点 在外, 若为奇数, 该点在内. 注意: 两个特判, 1:   一个是 射线 l 与 多边形的边  重合 , 若该p点在 线段上, 返回1, 否则 交点 记为 0 个 2: 一个是 射线与 线段的交点 ,为线段的端点, 则我们 对线段的 较低交点 不计算. 代码