cv2.polylines

简介: cv2.polylines

在OpenCV中,可以使用cv2.polylines函数来根据给定的坐标点绘制多边形或连接多个点成线段。以下是一个示例代码,展示了如何使用OpenCV连接多个坐标点以绘制一个简单的线段图。

import cv2
import numpy as np

# 创建一个空白的黑色图片
image_height = 480
image_width = 640
blank_image = np.zeros((image_height, image_width, 3), np.uint8)

# 定义一组坐标点
# 这里我们使用一个numpy数组来表示坐标点,每个点是(x, y)的形式
points = np.array([
    [100, 100],
    [200, 50],
    [300, 200],
    [250, 350],
    [100, 300]
], np.int32)

# 将点数组转换为OpenCV期望的格式(nx2数组)
points = points.reshape((-1, 1, 2))

# 绘制线段图
# isClosed参数设置为True会绘制一个闭合的多边形,否则只是连接点
cv2.polylines(blank_image, [points], isClosed=False, color=(0, 255, 0), thickness=2)

# 显示图片
cv2.imshow('Connected Points', blank_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个示例中,我们首先创建了一个黑色的空白图片。然后,我们定义了一个坐标点数组points,这些点将被用来绘制线段。我们使用np.array来创建一个包含所有点的NumPy数组,并将其转换为OpenCV期望的格式,即一个形状为(n, 1, 2)的NumPy数组。

接下来,我们调用cv2.polylines函数来绘制线段。isClosed参数设置为False表示我们只是连接这些点而不是闭合成多边形。color参数定义了线段的颜色,thickness参数定义了线段的粗细。

最后,我们使用cv2.imshow函数显示绘制好的图片,并使用cv2.waitKey(0)等待用户按下任意键后关闭窗口。

请确保你的OpenCV库已正确安装,并将示例代码中的坐标点替换为你自己的数据。运行上述代码后,你将看到一个显示了连接多个点的线段图的窗口。按下任意键关闭窗口。

目录
相关文章
|
计算机视觉
Opencv学习笔记(五):cv2.putText()和cv2.rectangle()详细理解
这篇文章详细介绍了OpenCV库中的`cv2.putText()`和`cv2.rectangle()`函数的使用方法,并通过一个实战例子展示了如何使用这些函数在图像上绘制文字和矩形框。
1303 0
Opencv学习笔记(五):cv2.putText()和cv2.rectangle()详细理解
|
Linux iOS开发 索引
【已解决】ModuleNotFoundError: No module named ‘matplotlib‘
【已解决】ModuleNotFoundError: No module named ‘matplotlib‘
|
5月前
|
人工智能 运维 Kubernetes
别再手动敲命令了!运维自动化才是打工人的“自救之道”
别再手动敲命令了!运维自动化才是打工人的“自救之道”
166 8
|
算法 计算机视觉
Opencv学习笔记(六):cv2.resize函数的介绍
这篇文章介绍了OpenCV库中cv2.resize函数的使用方法,包括其参数、插值方式选择以及实际代码示例。
2247 1
Opencv学习笔记(六):cv2.resize函数的介绍
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
3701 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
人工智能 自然语言处理 安全
关于大模型越狱的多种方式,有这些防御手段
【8月更文挑战第22天】在AI领域,大语言模型与视觉-语言模型显著提升了自然语言处理及视觉任务能力,但同时也引发了严重的安全与伦理问题,特别是大模型越狱现象。越狱可通过梯度、进化、演示、规则或多智能体等方式实现,利用模型弱点操纵其输出。针对此威胁,研究者提出包括提示检测、扰动、演示、生成干预及响应评估等多种防御策略,旨在增强模型安全性与可靠性。然而,攻击手段的多样性和有效性评估构成了主要挑战。[论文](https://arxiv.org/pdf/2407.01599)详细探讨了这些问题。
719 17
|
运维 网络协议
IP 地址类别:权威指南
IP 地址类别:权威指南
2211 4
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
704 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
机器学习/深度学习 并行计算 PyTorch
ONNX 优化技巧:加速模型推理
【8月更文第27天】ONNX (Open Neural Network Exchange) 是一个开放格式,用于表示机器学习模型,使模型能够在多种框架之间进行转换。ONNX Runtime (ORT) 是一个高效的推理引擎,旨在加速模型的部署。本文将介绍如何使用 ONNX Runtime 和相关工具来优化模型的推理速度和资源消耗。
6904 4
|
缓存 人工智能 PyTorch
LMDeploy 部署 VLMs 的方法与探讨
LMDeploy 部署 VLMs 的方法与探讨 LMDeploy 是一个高效且友好的大型语言模型(LLMs)和视觉-语言模型(VLMs)部署工具箱,由上海人工智能实验室模型压缩和部署团队开发,涵盖了模型量化、离线推理和在线服务等功能。
LMDeploy 部署 VLMs 的方法与探讨