绘制简单的几何图形、显示文字
(一)绘制直线和矩形
import cv2
import numpy as np
img = np.zeros((512, 512, 3),np.uint8)
#line函数用来画直线,第一个参数可以理解为画布矩阵,
#第二个参数pt1是直线的起始位置,第三个参数pt2是直线的终止位置,
#第四个参数color用来控制直线的颜色,第五个参数thickness表示的是线条的厚度或者说是宽度
cv2.line(img, (255, 512), (255, 0), (255, 0, 255), 9)
#cv2.rectangle函数用来画矩形,第一个参数为需要传入的画布矩阵,
#第二个参数pt1是矩形的左上角位置坐标,第三个参数pt2是矩形右下角的位置坐标,
#第四个参数color用来控制矩形的颜色,第五个参数thickness表示的是边框的厚度或者是宽度
cv2.rectangle(img, (150, 150), (350, 350), (255, 255, 0), 2)
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows() null
(二)绘制圆和椭圆
#第二个参数指的是圆心,第三个参数指的是圆心
cv2.circle(img, (255, 255), 50, (255, 0, 255), 9)
cv2.circle(img, (250, 245), 9, (255, 0, 0), 36)
#第二个参数是椭圆的中心点,第三个参数axes指的是短半径和长半径,
#第四个参数指的是逆时针旋转的角度,
#第五个参数指的是逆时针开始画图的角度,第六个指的是逆时针结束画图的角度
#四五六参数若加上符号,表示的反方向,即顺时针方向
cv2.ellipse(img, (255, 255), (170, 70), 20, 0, 270, (255, 255, 0), 2)
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
(三)绘制多边形
pts = np.array([[50, 190], [380, 420], [255, 50], [120, 420], [450, 190]])
# 第三个参数指的是是否封口,这里注意第二个参数外面必须再加一层中括号
cv2.polylines(img, [pts], True, (255, 255, 0), 15)
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
null
五角星,好看吧
(四)显示文字
font = cv2.FONT_HERSHEY_SIMPLEX
#第三个参数为显示文字的起始位置,第五个参数表示的是文字的大小
cv2.putText(img, 'huan ying', (10, 255), font, 1.6, (255, 255, 0), 2)
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()