美文网首页
上手OpenCV_GUI-L03-绘图

上手OpenCV_GUI-L03-绘图

作者: 全栈顾问 | 来源:发表于2019-06-10 15:14 被阅读0次

    目标

    学习使用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-绘图

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