创客出手

目录

OpenCV Python 2D绘制多边形(polylines)

本示例使用的OpenCV版本是:4.1.1
运行Python的编辑器:Jupyter notebook 6.0.0

示例目的

使用cv.polylines在图片上绘制多边形。

file

实现代码

1,加载并显示图片

import cv2
import matplotlib.pyplot as plt
import numpy as np   #加载Numpy

img = cv2.imread('MakerOnsite-Logo.png')
plt.imshow(img)

显示读取到的图像

file

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)

显示绘制矩形后的图像

file

程序说明

本示例,主要使用cv.polylines在图像上绘制多边形。

cv.polylines 语法

img = cv.polylines( img, pts, isClosed, color[, thickness[, lineType[, shift]]] )

参数概述

  • img – 输入的图像
  • pts – 多边型点坐标数组
  • isClosed – 指定多边型是否闭合,设置闭合后则会在最后一点和第一点连上线段。
  • color – 线段颜色
  • (可选)thickness – 线段厚度
  • (可选)lineType – 线段类型。请参见 OpenCV LineTypes参考
  • (可选)shift – 转移因数

详细的cv.polylines请参考 OpenCV polylines参考

更多关于 的文章
关注创客出手公众号

关注创客出手