OpenCV学习——基本操作之绘制几何图形

(1)绘制直线:cv2.line()

函数原型:cv2.line(img,start,end,color,thickness)
img:要绘制直线的图像。
start,end:直线的起点和终点。(二维坐标,如:(50,50))
color:线条的颜色。(彩色图片为三维数组,如:(0,0,255);灰度图片为0~255的值)
thickness:线条宽度。

(2)绘制圆形:cv2.circle()

函数原型:cv2.circle(img,centerpoint,r,color,thickness)
img:要绘制圆形的图像。
centerpoint:圆心。(二维坐标)
r:半径。
color:线条的颜色。
thickness:线条宽度,为-1时生成闭合图案并填充颜色。

(3)绘制矩形:cv2.rectangle()

函数原型:cv2.rectangle(img,leftupper,rightdown,color,thickness)
img:要绘制矩形的图像。
leftupper:矩形的左上角坐标。
rightdown:矩形的右下角坐标。
color:线条的颜色。
thickness:线条宽度,为-1时生成闭合图案并填充颜色。

(4)向图像中添加文字:cv2.putText()

函数原型:cv2.putText(img,text,station,font,fontsize,color,thickness,lineType)
img:图像。
text:要写入的文本数据。
station:文本的放置位置。
font:字体。
fontsize:字体大小。
color:字体颜色。
thickness:线条厚度。
lineType:线条类型。有三个值可选:cv2.LINE_8(默认)、cv2.LINE_4、cv2.LINE_AA
字体种类:
字体
对应数字
含义
cv2.FONT_HERSHEY_SIMPLEX
0
正常尺寸无衬线字体
cv2.FONT_HERSHEY_PLAIN
1
小尺寸无衬线字体
cv2.FONT_HERSHEY_DUPLEX
2
正常尺寸无衬线字体 (比 cv2.FONT_HERSHEY_SIMPLEX 更复杂)
cv2.FONT_HERSHEY_COMPLEX
3
正常尺寸衬线字体
cv2.FONT_HERSHEY_TRIPLEX
4
正常尺寸衬线字体 (比 cv2.FONT_HERSHEY_COMPLEX 更复杂)
cv2.FONT_HERSHEY_COMPLEX_SMALL
5
小尺寸衬线字体
cv2.FONT_HERSHEY_SCRIPT_SIMPLEX
6
手写风格字体
cv2.FONT_HERSHEY_SCRIPT_COMPLEX
7
cv2.FONT_HERSHEY_SCRIPT_SIMPLEX 的复杂变体

实战:

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
#创建一个空白的图像
img=np.zeros((512, 512, 3), np.uint8)
#绘制图像
cv.line(img, (0, 0),(511, 511), (255, 0, 0), 5)
cv.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)
cv.circle(img, (447, 63), 63, (0, 0, 255), -1)
font=cv.FONT_HERSHEY_SCRIPT_SIMPLEX
cv.putText(img, 'OpenCV', (10, 500), font, 4, (255, 255, 255), 2, cv.LINE_AA)
#图像显示
plt.imshow(img[:, :, ::-1])
plt.title('结果'), plt.xticks([]), plt.yticks([])
plt.show()

你可能感兴趣的:(OpenCV,opencv,计算机视觉,人工智能)