上手OpenCV_GUI-L03-绘图

目标

学习使用OpenCV绘制几何图型。

学习的函数:cv.line(), cv.circle(), cv.rectangle(), cv.ellipse(), cv.putText()...

通用参数解释

  • img:图型对象
  • color:形状的颜色。对于BGR,(255,0,0)代表蓝色
  • thickness:线的宽度。如果设置为-1,封闭图形,例如:圆形,会被完全填充。
  • lineType:线条的类型,cv.LINE_AA反锯齿线。

画线

import numpy as np
import cv2 as cv

# Create a black image
img = np.zeros((512,512,3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px
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)

画椭圆

cv.ellipse(img,(256,256),(100,50),0,0,180,255,-1)

画多边形

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv.polylines(img,[pts],True,(0,255,255))

加文字

font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv.LINE_AA)

完整代码

# coding: utf-8
import numpy as np
import cv2 as cv

# Create a black image
img = np.zeros((512, 512, 3), np.uint8)
# Draw a diagonal blue line with thickness of 5 px
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)

cv.ellipse(img, (256, 256), (100, 50), 0, 0, 180, 255, -1)

pts = np.array([[10, 5], [20, 30], [70, 20], [50, 10]], np.int32)
pts = pts.reshape((-1, 1, 2))
cv.polylines(img, [pts], True, (0, 255, 255))

font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, 'OpenCV', (10, 500), font, 4, (255, 255, 255), 2, cv.LINE_AA)

cv.imshow('image', img)
cv.waitKey(0)
cv.destroyAllWindows()

资料

上手OpenCV-目录

你可能感兴趣的:(上手OpenCV_GUI-L03-绘图)