Python | OpenCV 繪製各種形狀
📑 目錄
📚 前言
在上一篇 馬賽克與羽化效果 中,我們學會了如何隱藏敏感資訊或讓圖片邊緣更柔和。
這一篇要介紹 繪製各種形狀,包括直線、矩形、圓形、橢圓、多邊形與箭頭,這些基本圖形常用於圖片標註,例如框選人臉、標記區域或繪製輔助線。
✏️ 繪製直線(Line)
1 | # draw_line.py |

圖:程式碼執行結果 — 繪製直線
🟥 繪製矩形(Rectangle)
1 | # draw_rectangle.py |

圖:程式碼執行結果 — 繪製矩形
⚪ 繪製圓形(Circle)
1 | # draw_circle.py |

圖:程式碼執行結果 — 繪製圓形
🟠 繪製橢圓(Ellipse)
1 | # draw_ellipse.py |

圖:程式碼執行結果 — 繪製橢圓
🔺 繪製多邊形(Polygon)
1 | # draw_polygon.py |

圖:程式碼執行結果 — 繪製多邊形
➡️ 繪製箭頭(Arrowed Line)
1 | # draw_arrow.py |

圖:程式碼執行結果 — 繪製箭頭
📊 效果比較
| 圖形 | 函式 | 常見用途 |
|---|---|---|
| 直線 | cv2.line() |
標註方向、繪製輔助線 |
| 矩形 | cv2.rectangle() |
框選人臉、標記區域 |
| 圓形 | cv2.circle() |
標記點位、繪製圓形區域 |
| 橢圓 | cv2.ellipse() |
標註範圍、特殊標記 |
| 多邊形 | cv2.polylines() |
框選不規則區域 |
| 箭頭 | cv2.arrowedLine() |
標示方向、流程圖 |
⚠️ 注意事項
- 座標系統:OpenCV 的座標以左上角為原點 (0,0),x 向右、y 向下。
- 顏色格式:OpenCV 使用 BGR,而不是 RGB。
- 厚度參數:設為
-1時會填滿形狀。 - 多邊形:座標需用
numpy.array定義,並 reshape 成正確格式。
🎯 結語
這一篇我們學會了 繪製各種形狀,包括直線、矩形、圓形、橢圓、多邊形與箭頭,能夠在圖片上標註或繪製基本圖形。這些技巧在圖片處理、標註資料集、製作輔助工具時非常常見。
下一篇進入 文字標註,學習如何使用 cv2.putText() 在圖片上加上文字,讓圖片更有資訊性。
📖 如在學習過程中遇到疑問,或是想了解更多相關主題,建議回顧一下 Python | OpenCV 系列導讀,掌握完整的章節目錄,方便快速找到你需要的內容。