美文网首页
opencv(3)绘制图案

opencv(3)绘制图案

作者: TZX_0710 | 来源:发表于2020-09-19 13:47 被阅读0次

    本章使用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()
    
    

    相关文章

      网友评论

          本文标题:opencv(3)绘制图案

          本文链接:https://www.haomeiwen.com/subject/hhyjyktx.html