使用 OpenCV 在图像上绘制矩形、圆形和文本
使用 OpenCV 在图像上绘制矩形、圆形和文本
OpenCV 是一个强大的计算机视觉库,它提供了一系列功能来处理图像和视频。其中一项功能是能够在图像上绘制形状和文本。本文将介绍如何使用 OpenCV 的 cv2.rectangle、cv2.circle 和 cv2.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.rectangle、cv2.circle 和 cv2.putText 函数在图像上绘制矩形、圆形和文本。这些函数提供了灵活的方式来标记和注释图像,在计算机视觉应用中非常有用。
原文地址: https://www.cveoy.top/t/topic/plmW 著作权归作者所有。请勿转载和采集!