目标
学习使用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()
网友评论