📅  最后修改于: 2023-12-03 15:22:15.200000             🧑  作者: Mango
OpenCV 是一个强大的计算机视觉库,它可以在图像和视频处理中用于各种常见的任务,例如对象识别、特征检测和图像分割等。
在本文中,我们将介绍如何使用 OpenCV 在图像上绘制几何形状。这可能是计算机视觉中最基本的任务之一,但它也是最常用的任务之一。我们将涵盖以下几个形状:
在开始之前,请确保您已经安装并配置好了 OpenCV 库。
import cv2
import numpy as np
# 创建 512x512 的空白图像
img = np.zeros((512, 512, 3), dtype=np.uint8)
要在图像上绘制线段,我们可以使用 OpenCV 的 cv2.line()
函数。这个函数需要四个参数:
# 在图像上绘制从 (0,0) 到 (511,511) 的红色线段
cv2.line(img, (0, 0), (511, 511), (0, 0, 255), thickness=5)
# 显示图像
cv2.imshow('line', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
要在图像上绘制矩形,我们可以使用 OpenCV 的 cv2.rectangle()
函数。这个函数需要五个参数:
# 在图像上绘制一个红色的矩形
cv2.rectangle(img, (100, 100), (300, 300), (0, 0, 255), thickness=5)
# 显示图像
cv2.imshow('rectangle', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
要在图像上绘制圆形,我们可以使用 OpenCV 的 cv2.circle()
函数。这个函数需要四个参数:
# 在图像上绘制一个蓝色的圆形
cv2.circle(img, (256, 256), 100, (255, 0, 0), thickness=5)
# 显示图像
cv2.imshow('circle', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
要在图像上绘制椭圆,我们可以使用 OpenCV 的 cv2.ellipse()
函数。这个函数需要七个参数:
# 在图像上绘制一个绿色的椭圆
cv2.ellipse(img, (256, 256), (100, 50), 45, 0, 360, (0, 255, 0), thickness=5)
# 显示图像
cv2.imshow('ellipse', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
要在图像上绘制多边形,我们可以使用 OpenCV 的 cv2.polylines()
函数。这个函数需要四个参数:
# 定义一个三角形
pts = np.array([[100, 100], [300, 100], [200, 300]], np.int32)
# 在图像上绘制一个黄色的三角形
cv2.polylines(img, [pts], True, (0, 255, 255), thickness=5)
# 显示图像
cv2.imshow('polyline', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
在本文中,我们介绍了如何使用 OpenCV 在图像上绘制几何形状。这些形状包括线段、矩形、圆形、椭圆和多边形。每个形状都有对应的 OpenCV 函数,它们都可以使用显式的参数来指定形状的细节。