上手OpenCV_GUI-L03-绘图

目标 【上手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-目录

    推荐阅读