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 的基本繪圖功能,讓用戶可以在畫布上繪製多種圖形。這些方法為創建自定義圖像或圖像處理提供了基礎,用戶可以進一步嘗試更多複雜的繪圖組合。
全站熱搜