1. 简介
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它是用C++编写的,并提供了包括Python在内的多种编程语言的接口。在图像处理和计算机视觉领域中有着广泛的应用,包括人脸识别、物体检测、图像分类等。
在OpenCV中,我们可以使用许多功能强大的函数对图像进行各种操作,例如读取图片、图像缩放、旋转等操作。本文将介绍OpenCV中用于图像绘制的函数。
2. 图像绘制函数
2.1 cv2.line()
cv2.line()函数可以在图像上绘制一条直线。
使用方法如下:
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 绘制一条蓝色直线,起始点为 (0,0),终止点为 (511,511),线宽为 5
img = cv2.line(img, (0,0), (511, 511), (255, 0, 0), 5)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
参数解释:
- img:要绘制直线的图像;
- (0,0):起始点的坐标;
- (511, 511):终止点的坐标;
- (255, 0, 0):直线的颜色。在OpenCV中,图像是按BGR顺序进行存储的,因此蓝色为(255,0,0);
- 5:直线的宽度。
运行程序后,可以看到绘制了一条从图片左上角到右下角的蓝色直线。
2.2 cv2.rectangle()
cv2.rectangle()函数可以在图像上绘制矩形。
使用方法如下:
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 绘制一个绿色的矩形,左上角顶点为(384,0),右下角顶点为(510,128),线宽为 3
img = cv2.rectangle(img, (384,0), (510,128), (0, 255, 0), 3)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
参数解释:
- img:要绘制矩形的图像;
- (384,0):矩形左上角顶点的坐标;
- (510, 128):矩形右下角顶点的坐标;
- (0, 255, 0):矩形线条的颜色,绿色为(0,255,0);
- 3:线宽。
运行程序后,可以看到绘制了一个绿色的矩形。
2.3 cv2.circle()
cv2.circle()函数可以在图像上绘制圆形。
使用方法如下:
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 绘制一个红色的圆,圆心为(447,63),半径为 63,线宽为 -1,表示填充圆
img = cv2.circle(img, (447,63), 63, (0,0,255), -1)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
参数解释:
- img:要绘制圆形的图像;
- (447,63):圆心的坐标;
- 63:圆的半径;
- (0,0,255):圆的颜色(红色为(0,0,255));
- -1:线宽,-1表示填充圆。如果为正整数n,表示圆的边界宽度为n个像素。
运行程序后,可以看到绘制了一个红色的圆。
2.4 cv2.putText()
cv2.putText()函数可以在图像上添加文字。
使用方法如下:
import cv2
import numpy as np
# 读取图片
img = cv2.imread('image.jpg')
# 添加白色的文字 "OpenCV" 在图片的左上角,字体为 Hershey simplex,字号为 4,线宽为 2
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
参数解释:
- img:要添加文字的图像;
- 'OpenCV':要添加的文字;
- (10, 500):文字的左下角顶点坐标;
- font:字体类型;
- 4:字号;
- (255,255,255):文字颜色(白色为(255,255,255));
- 2:文字线宽;
- cv2.LINE_AA:字体的线型。
运行程序后,可以看到在图片的左上角添加了一个白色的 "OpenCV"。
3. 总结
本文介绍了OpenCV中用于图像绘制的函数,包括cv2.line()、cv2.rectangle()、cv2.circle()和cv2.putText()。这些函数可以让我们方便地在图像上绘制各种形状和文本,使得我们能够更好地理解和处理图像。