close

使用 OpenCV 繪製基本圖形的 Python 程式解析

本文展示了如何使用 OpenCV 繪製基本圖形,如直線、圓形、橢圓和多邊形。

程式碼範例與註解

# 匯入必要模組
import cv2
import numpy as np

# 建立 512x512 的白色畫布
canvas = np.zeros((512, 512, 3), dtype=np.uint8)
canvas.fill(255)

# 繪製直線
cv2.line(canvas, (50, 50), (450, 50), (255, 0, 0), 3)

# 繪製圓形
cv2.circle(canvas, (256, 256), 100, (0, 255, 0), -1)

# 繪製橢圓
cv2.ellipse(canvas, (256, 400), (150, 75), 45, 0, 360, (0, 0, 255), 3)

# 繪製多邊形
pts = np.array([[100, 200], [200, 300], [300, 200], [200, 100]], np.int32)
pts = pts.reshape((-1, 1, 2))
cv2.polylines(canvas, [pts], isClosed=True, color=(0, 255, 255), thickness=2)

# 顯示畫布
cv2.imshow("Shapes", canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

  

程式解析

  • 建立畫布: 使用 np.zeros 建立一個 512x512 的黑色畫布,並用 fill(255) 填滿為白色。
  • 繪製直線: cv2.line 繪製一條從座標 (50, 50)(450, 50) 的藍色直線,厚度為 3。
  • 繪製圓形: cv2.circle 在畫布上繪製一個綠色的實心圓,中心點為 (256, 256),半徑為 100。
  • 繪製橢圓: cv2.ellipse 繪製一個紅色的橢圓,中心點為 (256, 400),軸長為 (150, 75),旋轉角度為 45°。
  • 繪製多邊形: cv2.polylines 繪製一個黃色的封閉多邊形,頂點由陣列 [[100, 200], [200, 300], [300, 200], [200, 100]] 定義。
  • 顯示畫布: 使用 cv2.imshow 顯示繪製的圖形,並等待用戶按下任意鍵後關閉視窗。

結論

此程式展示了 OpenCV 的基本繪圖功能,讓用戶可以在畫布上繪製多種圖形。這些方法為創建自定義圖像或圖像處理提供了基礎,用戶可以進一步嘗試更多複雜的繪圖組合。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 liusming 的頭像
    liusming

    劉老師的跨域創想工坊

    liusming 發表在 痞客邦 留言(0) 人氣()