opencv(3)绘制图案
2020-09-19 本文已影响0人
TZX_0710
本章使用opencv创建图形 采用numpy创建图纸
import cv2 as cv
import numpy as np
from matplotlib import pyplot as plot
# 绘制opencv
def example_opencv():
img = np.ones((512, 512, 3), np.uint8) * 255
# 画椭圆
# 图片 (圆心) (短轴长,长轴长),旋转角度,旋转角度,开口大小角度,(颜色),(线条粗细,-1为实心)
cv.ellipse(img, (255, 100), (65, 65), 125, 0, 290, (0, 0, 255), -1)
cv.circle(img, (255, 100), 30, (255, 255, 255), -1)
cv.ellipse(img, (180, 220), (65, 65), 16, 0, 290, (0, 255, 0), -1)
cv.circle(img, (180, 220), 30, (255, 255, 255), -1)
cv.ellipse(img, (330, 220), (65, 65), 300, 0, 290, (255, 0, 0), -1)
cv.circle(img, (330, 220), 30, (255, 255, 255), -1)
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, "OpenCV", (100, 400), font, 3, (0, 0, 0), 15, cv.LINE_AA)
cv.imshow('study', img)
cv.waitKey(0)
cv.destroyAllWindows()
def writeTest():
# 创建一个500行 500列 包含3个元素的矩阵
img = np.zeros((500, 500, 3), np.uint8)
# cv.line第一个参数表示绘制图像的位置
# 第二个参数表示绘画的开始点为 第三个参数表示结束的位置 第五个参数表示图像颜色 第六个参数表示线条的厚度
# 横向表示x 竖着的表示y (0,300)表示从x的0开始,y的300开始绘制(200,200) 到x=200,y=200结束
cv.line(img, (0, 300), (200, 200), (255, 0, 0), 5)
# 绘制一个圆圈
cv.circle(img, (200, 200), 40, (0, 0, 255), 5)
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, 'OpenCV', (200, 250), font, 2, (255, 255, 255), 2, cv.LINE_AA)
plot.imshow(img)
plot.show()
cv.waitKey(0)
cv.destroyAllWindows()
if __name__ == '__main__':
example_opencv()
writeTest()