<button id="ssm6u"><optgroup id="ssm6u"></optgroup></button>
  • 跳轉至

    繪制直線

    概要

    講解了如何使用OpenCV在圖片中繪制直線.

    keywords OpenCV 直線繪制

    繪制直線(cv2.line)

    # 繪制一根紅色的線  寬度為3
    cv2.line(img=canvas, pt1=(300, 0), pt2=(0, 300), color=COLOR_MAP["red"], thickness=3)
    

    參數說明

    • img 圖片(畫布)

    • pt1 直線起始端坐標 (x, y)

    • pt2 直線結束端坐標 (x, y)

    • color 顏色

    • thickness 線寬

    當然我們也可以簡寫

    cv2.line(canvas, (300, 0), (0, 300), COLOR_MAP["red"], 3)
    

    可是一旦參數變多, 你就不知道哪個是哪個了, 一個規范的做法還是要加上參數名。

    演示樣例

    draw_line.png

    src/draw_line.py

    import cv2
    import numpy as np
    
    # 預設幾種顏色 B
    COLOR_MAP = {
        "green": (0, 255, 0),
        "red": (0, 0, 255)
    }
    
    '''
    初始化一個彩色的畫布
    顏色為BGR色彩空間
    '''
    def InitCanvas(width, height, color=(255, 255, 255)):
        canvas = np.ones((height, width, 3), dtype="uint8")
        canvas[:] = color
        return canvas
    
    # 初始化一個空畫布 300×300 三通道 背景色為黑色 
    canvas = InitCanvas(300, 300)
    
    # pt1 線段起始點, pt2 線段終止點
    # 在畫布canvas上, 從(0,0) 到(300,300) 繪制一根綠色直線
    cv2.line(canvas, pt1=(0, 0), pt2=(300, 300), color=COLOR_MAP["green"])
    
    # 顏色變為紅色 BGR
    red = (0, 0, 255)
    # 繪制一根紅色的線  寬度為3
    cv2.line(img=canvas, pt1=(300, 0), pt2=(0, 300), color=COLOR_MAP["red"], thickness=3)
    cv2.imshow("Canvas", canvas)
    
    cv2.imwrite("draw_line.png", canvas)
    
    cv2.waitKey(0)
    

    韩国精品无码一区二区三区,精品无码一区二区三区AV,欧洲丰满美熟女乱又伦AV,亚洲午夜久久久影院伊人