markdown
#說明
opencv 提供很多套件很好用,opencv 在pycharm import 的時候是 import cv2,然後使用 Project Interpreter 下載安裝套件的時候要選擇opencv-python,有些功能會因為版本不同增加跟修改,在使用時要去確認版本,接下來的內容很多時候都會使用的到,我也參考了我最常查詢的網站,分享的方法實作一次,喜歡的人可以直接點下面連結去看原作者的說明。
- https://blog.gtwang.org/programming/opencv-drawing-functions-tutorial/
#操作流程
##Code
```
import numpy as np
import cv2
# 建立一張 512x512 的 RGB 圖片(黑色)
img = np.zeros((256, 256, 3), np.uint8)
# 將圖片用淺灰色 (200, 200, 200) 填滿
img.fill(200)
# 在圖片上畫一條紅色的對角線,寬度為 5 px
cv2.line(img, (0, 0), (255, 255), (0, 0, 255), 5)
# 在圖片上畫一個綠色方框,線條寬度為 2 px
cv2.rectangle(img, (20, 60), (120, 160), (0, 255, 0), 2)
# 綠色實心方框
cv2.rectangle(img, (40, 80), (100, 140), (0, 255, 0), -1)
# 黃色圓圈,線條寬度為 3 px
cv2.circle(img,(90, 210), 30, (0, 255, 255), 3)
# 藍色實心圓圈
cv2.circle(img,(140, 170), 15, (255, 0, 0), -1)
# 傾斜 45 度的紫色橢圓形
cv2.ellipse(img, (180, 200), (25, 55), 45, 0, 360, (205, 0, 255), 2)
# 傾斜 45 度的半個實心橢圓
cv2.ellipse(img, (180, 200), (20, 50), 45, 0, 180, (255, 0, 255), -1)
# 設定多邊形頂點座標
pts = np.array([[170, 55], [165, 75], [220, 80], [200, 60]], np.int32)
# 將座標轉為 (頂點數量, 1, 2) 的陣列
pts = pts.reshape((-1, 1, 2))
# 繪製多邊形
cv2.polylines(img, [pts], True, (255, 255, 0), 4)
# 顯示圖片
cv2.imshow('My Image', img)
# 按下任意鍵則關閉所有視窗
cv2.waitKey(0)
cv2.destroyAllWindows()
```
##DEMO
還有一個經常使用的方法,是顯示的時候可以更改顯示的視窗大小,下方實作就依照原本的內容修改後半部
##Code
```
# 顯示圖片
cv2.namedWindow('result', cv2.WINDOW_NORMAL)
cv2.resizeWindow("result", 640, 480)
cv2.imshow("result", img)
# 按下任意鍵則關閉所有視窗
cv2.waitKey(0)
cv2.destroyAllWindows()
```
##DEMO
留言
張貼留言