opencv系列(二) --- 图形绘制

1.绘制直线

直线 cv2.line()

cv2.line(img, Point pt1, Point pt2, color, thickness=1, line_type=8, shift=0)

img — 原始图片
pt1,pt2 — 分别代表直线的两个端点。
color — 颜色
thickness — 直线粗细
line_type —直线类型

代码示例:

import numpy as np 
import cv2
import matplotlib.pyplot as plt
def show(image):  #自行创建一个图片显示函数
    plt.imshow(image)
    plt.axis('off')
    plt.show() 
img = np.zeros((512,512,3),np.uint8) # 创建一个三维图形 参数为高,宽,通道数
img = cv2.line(img,(0,0),(511,511),(255,0,0),5) #画一条从左上方到右下方的直线
show(img)

运行结果:
在这里插入图片描述

2.绘制矩形

矩形 cv2.rectangle()
cv2.rectangle(img, Point pt1, Point pt2, color, thickness=1, line_type=8, shift=0)

img — 原始图片
pt1,pt2 — 分别代表直线的两个端点。
color — 颜色
thickness — 直线粗细
line_type —直线类型
示例代码:

import cv2
import matplotlib.pyplot as plt
import numpy as np
def show(image):#自行创建一个图片显示函数
    plt.imshow(image)
    plt.axis('off')
    plt.show()
img = np.zeros((512,512,3),np.uint8) # 创建一个三维图形 参数为高,宽,通道数
#要画一个矩形,你需要告诉函数的左上角顶点和右下角顶点的坐标。
img = cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
show(img)

运行结果:
在这里插入图片描述

3.绘制圆形

cv2.circle(img, center, radius, color, thickness, line_type, shift)

img — 原始图片
center,radius代表圆心和半径
color — 颜色
thickness — 直线粗细
line_type —直线类型
示例代码:

import cv2
import matplotlib.pyplot as plt
#由于我们经常使用图片的显示,因而将读取的内容携程一个新的函数
def show(image):#自行创建一个图片显示函数
    plt.imshow(image)
    plt.axis('off')
    plt.show() 
img = np.zeros((512,512,3),np.uint8) # 创建一个三维图形 参数为高,宽,通道数
#要画圆的话,只需要指定圆形的中心点坐标和半径大小。
img = cv2.circle(img,(447,63),63,(0,0,255),-1)
show(img)

运行结果:
在这里插入图片描述

4.绘制椭圆

函数原型:

cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness, lineType, shift)

img — 原始图片
center — 代表圆心和半径
axes — 图片的长轴和短轴
startAngle — 起始角度
endAngle — 终止角度
colot — 颜色
thickness — 图形粗细
line_type —直线类型
示例代码:

import cv2
import matplotlib.pyplot as plt
#由于我们经常使用图片的显示,因而将读取的内容携程一个新的函数
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show() 
img = np.zeros((512,512,3),np.uint8) # 创建一个三维图形 参数为高,宽,通道数
img = cv2.ellipse(img,(256,256),(100,50),0,0,360,(255,255,0),3)
show(img)

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值