本示例使用的OpenCV版本是:4.1.1
运行Python的编辑器:Jupyter notebook
示例目的
使用cv.polylines
在图片上绘制多边形。
实现代码
1,加载并显示图片
import cv2
import matplotlib.pyplot as plt
import numpy as np #加载Numpy
img = cv2.imread('MakerOnsite-Logo.png')
plt.imshow(img)
显示读取到的图像
2,创建多边型点坐标的数组
# 通过numpy创建多边形点坐标的数组
points = np.array([[50, 50], [50, 400], [400, 400], [450, 150],[350, 50]])
注意:此时points的元素数据类型是int64
3,在图像上添加多边形
# 在图像上绘制多边形,注意这里的坐标点数组需要数据类型是int32的,所以通过np.int32()转换
img = cv2.polylines(img, np.int32([points]), 1, (100,100,255),5)
# 显示图像
plt.imshow(img)
显示绘制矩形后的图像
程序说明
本示例,主要使用cv.polylines
在图像上绘制多边形。
cv.polylines 语法
img = cv.polylines( img, pts, isClosed, color[, thickness[, lineType[, shift]]] )
参数概述
-
img
- 输入的图像 -
pts
- 多边型点坐标数组 -
isClosed
- 指定多边型是否闭合,设置闭合后则会在最后一点和第一点连上线段。 -
color
- 线段颜色 - (可选)
thickness
- 线段厚度 - (可选)
lineType
- 线段类型。请参见LineTypes https://docs.opencv.org/trunk/d6/d6e/group__imgproc__draw.html#gaf076ef45de481ac96e0ab3dc2c29a777 - (可选)
shift
- 转移因数
详细的cv.polylines
请参考 https://docs.opencv.org/4.1.1/d6/d6e/group__imgproc__draw.html#ga1ea127ffbbb7e0bfc4fd6fd2eb64263c