# OpenCV [TOC] ## 甚麼是OpenCV > Open Source Computer Vision Library - 開源電腦視覺函示庫 - 可以用各種不同語言(如Java, Python, C/C++)進行搭配撰寫 --- ## 如何在VScode使用python安裝opencv 1. 下載[VScode](https://code.visualstudio.com/Download) ![](https://hackmd.io/_uploads/H1f7-zwka.png) 2. 下載[python](https://www.python.org/downloads/) ![](https://hackmd.io/_uploads/rJG5SfPkp.png) 需要再安裝的時候點選`Add python.exe to PATH` ![](https://hackmd.io/_uploads/HJdj8Gvk6.png) 3. 安裝完PYTHON後,開CMD輸入`python`,成功的畫面 ![](https://hackmd.io/_uploads/SJFeUfDkT.png) 5. 隨意新增一個.py的檔案 6. 執行後在終端機輸入 `pip install opencv-python` 7. 安裝完成 --- ## 在VScode進行簡單的opencv測試 ``` python= import cv2 img=cv2.imread('Download.png') # 讀圖片,小括弧裡放檔案名 cv2.imshow('test',img) # 顯示圖片 ('1',2) 1是視窗名稱 2是變數 cv2.waitKey(1000) # 視窗停留1000ms ``` ![](https://hackmd.io/_uploads/Hyq8tViya.png =50%x) + 選擇執行python檔案,才可以看到視窗出現 --- ## Opencv-EdgeDectection(Canny) ![](https://hackmd.io/_uploads/HkIU6B2kT.png =60%x) ```python= import cv2 filename= './Picture/Download.png' # 相對路徑 ./1/2 1是目前所在路徑下的資料夾 2是檔案名 img=cv2.imread(filename) # 讀圖片,小括弧裡放檔案名 img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 將圖片取灰階 edge = cv2.Canny(img_gray,100,200) # 取邊緣(灰階圖檔,,) cv2.imwrite('edge.png',edge) # 儲存圖片('1',2) 1是檔名 2要存檔的變數名稱 cv2.imshow('test',edge) # 顯示圖片 ('1',2) 1是視窗名稱 2是變數 cv2.waitKey(0) # 持續等待至使用者按下按鍵為止 cv2.destroyAllWindows() # 關閉所有opencv的視窗,如果只要關閉特定視窗 ex:cv2.destroyAllWindows('視窗名') ``` ![](https://hackmd.io/_uploads/HJt-pL2y6.png =20%x) ![](https://hackmd.io/_uploads/ryeepIhJ6.png =20%x) --- ## Opencv-EdgeDectection(Sobel) ```python= import cv2 filename = './Picture/vendi.jpg' img = cv2.imread(filename) img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) edge = cv2.Sobel(img_gray,-1,1,1,1,7) cv2.imshow('test',edge) cv2.imwrite('Picture/edge1_sobel.png',edge) cv2.waitKey(0) cv2.destroyAllWindows() ``` ![](https://hackmd.io/_uploads/HJt-pL2y6.png =20%x) ![](https://hackmd.io/_uploads/BkDNoDhka.png =20%x) ## 參考資料 + [OpenCV 基礎篇-邊緣檢測(edge detection)](https://hackmd.io/@cws0701/SJiFl5Ghq)