使用 OpenCV 在图像上绘制矩形、圆形和文本

OpenCV 是一个强大的计算机视觉库,它提供了一系列功能来处理图像和视频。其中一项功能是能够在图像上绘制形状和文本。本文将介绍如何使用 OpenCV 的 cv2.rectanglecv2.circlecv2.putText 函数来完成此操作。

绘制矩形

cv2.rectangle 函数用于在图像上绘制矩形。其语法如下:

cv2.rectangle(img, pt1, pt2, color, thickness=1, lineType=cv2.LINE_8, shift=0)
  • img:目标图像。
  • pt1:矩形的左上角坐标。
  • pt2:矩形的右下角坐标。
  • color:矩形的颜色,以 BGR 格式表示。例如,(255, 0, 0) 表示蓝色。
  • thickness:矩形的线宽。
  • lineType:线的类型。默认值为 cv2.LINE_8,表示 8 连接线。
  • shift:坐标点的位移。

示例

以下代码示例演示如何在图像上绘制一个蓝色矩形:

import cv2

img2 = cv2.imread('image.jpg')

cv2.rectangle(img2, (50, 50), (200, 200), (255, 0, 0), thickness=5)

cv2.imshow('Rectangle', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()

绘制圆形

cv2.circle 函数用于在图像上绘制圆形。其语法如下:

cv2.circle(img, center, radius, color, thickness=1, lineType=cv2.LINE_8, shift=0)
  • img:目标图像。
  • center:圆形的中心坐标。
  • radius:圆形的半径。
  • color:圆形的颜色,以 BGR 格式表示。
  • thickness:圆形的线宽。
  • lineType:线的类型。默认值为 cv2.LINE_8,表示 8 连接线。
  • shift:坐标点的位移。

示例

以下代码示例演示如何在图像上绘制一个橙色圆形:

import cv2

img2 = cv2.imread('image.jpg')

cv2.circle(img2, (125, 125), 50, (255, 120, 0), 5)

cv2.imshow('Circle', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()

绘制文本

cv2.putText 函数用于在图像上绘制文本。其语法如下:

cv2.putText(img, text, org, fontFace, fontScale, color, thickness=1, lineType=cv2.LINE_8, bottomLeftOrigin=False)
  • img:目标图像。
  • text:要绘制的文本。
  • org:文本的起始坐标。
  • fontFace:字体类型。例如,cv2.FONT_HERSHEY_SIMPLEX 表示普通字体。
  • fontScale:字体大小。
  • color:文本的颜色,以 BGR 格式表示。
  • thickness:文本的线宽。
  • lineType:线的类型。默认值为 cv2.LINE_8,表示 8 连接线。
  • bottomLeftOrigin:是否使用左下角作为起始坐标。默认值为 False,表示使用左上角作为起始坐标。

示例

以下代码示例演示如何在图像上绘制文本“RenXinlei”:

import cv2

img2 = cv2.imread('image.jpg')

cv2.putText(img2, 'RenXinlei', (50, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 120, 119), 2, cv2.LINE_AA)

cv2.imshow('Text', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()

总结

本文介绍了如何使用 OpenCV 的 cv2.rectanglecv2.circlecv2.putText 函数在图像上绘制矩形、圆形和文本。这些函数提供了灵活的方式来标记和注释图像,在计算机视觉应用中非常有用。

使用 OpenCV 在图像上绘制矩形、圆形和文本

原文地址: https://www.cveoy.top/t/topic/plmW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录