opencv-python库 cv2 图形绘制 cv2.line()cv2.rectangle()cv2.circle()cv2.ellipse()cv2.polylines()cv2.putText
在OpenCV中,我们可以使用cv2.line(), cv2.rectangle(), cv2.circle(), cv2.ellipse()等函数来绘制不同的图形。
下面是这些函数的基本用法:
- cv2.line():用于绘制直线。
cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
参数:
- img:要绘制的图像
- pt1:直线起点
- pt2:直线终点
- color:直线颜色,以BGR格式(即蓝、绿、红)表示
- thickness:直线宽度。如果是正数,表示宽度。如果是负数,表示此线是填充线,即将起点和终点相连,形成一个填充的矩形。
- lineType:线型,可以是cv2.LINE\_8, cv2.LINE\_4, cv2.LINE\_AA等
- shift:对点坐标中的小数位数
例子:
import cv2
import numpy as np
# 创建一张黑色背景的图片
img = np.zeros((512,512,3), np.uint8)
# 定义直线的起点和终点
pt1 = (0,0)
pt2 = (511,511)
# 直线颜色,蓝色
color = (255,0,0)
# 直线宽度
thickness = 2
# 绘制直线
cv2.line(img, pt1, pt2, color, thickness)
# 展示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
- cv2.rectangle():用于绘制矩形。
cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
参数:
- img:要绘制的图像
- pt1:矩形左上角点
- pt2:矩形右下角点
- color:矩形颜色
- thickness:矩形边界宽度。如果是正数,表示宽度。如果是负数,表示此矩形是填充的。
例子:
import cv2
import numpy as np
# 创建一张黑色背景的图片
img = np.zeros((512,512,3), np.uint8)
# 定义矩形的左上角和右下角点
pt1 = (50,50)
pt2 = (200,200)
# 矩形颜色,绿色
color = (0,255,0)
# 矩形边界宽度
thickness = 2
# 绘制矩形
cv2.rectangle(img, pt1, pt2, color, thickness)
# 展示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
- cv2.circle():用于绘制圆形。
cv2.circle(img, center, radius, color, thickness=None, lineType=None, shift=None)
参数:
- img:要绘制的图像
- center:圆心点
- radius:圆的半径
- color:圆的颜色
- thickness:如果是正数,表示圆的边界宽度。如果是负数,表示圆是填充的。
例子:
import cv2
import numpy as np
# 创建一张黑色背景的图片
img = np.zeros((512,512,3), np.uint8)
# 定义圆的中心点和半径
center = (250,250)
radius = 50
# 圆的颜色
评论已关闭