1.引言
OpenCV(Open Source Computer Vision Library),是一個開源的計算機視覺庫,可以實現圖像處理、圖像分析、機器視覺、模式識別、機器學習等領域的各種功能。本篇文章將為你介紹Python環境下OpenCV的安裝教程,讓你輕鬆掌握OpenCV的使用。
2.環境設置
2.1 安裝Python
安裝OpenCV之前,需要安裝Python環境。可前往官網https://www.python.org/downloads/ 下載安裝Python 3.x。Windows用戶在安裝過程中記得勾選Add Python to PATH選項,以便可以在cmd終端運行Python。
2.2 安裝OpenCV
2.2.1 安裝前準備
在安裝OpenCV前,需要安裝NumPy模塊和Matplotlib模塊。打開cmd,輸入以下命令安裝:
pip install numpy
pip install matplotlib
安裝完成後,可以通過命令來檢查是否已經成功安裝:
python
import numpy
import matplotlib
print(numpy.__version__)
print(matplotlib.__version__)
結果應該會分別輸出NumPy和Matplotlib模塊的版本號。
2.2.2 安裝OpenCV
準備工作完成後,可以開始安裝OpenCV了。輸入以下命令來安裝OpenCV:
pip install opencv-python
pip install opencv-contrib-python
上述命令會安裝OpenCV及其擴展庫,安裝完成後即可使用OpenCV庫。
3.使用OpenCV庫
3.1 圖像讀取與顯示
首先,我們來看一下如何使用OpenCV讀取一張圖片並且顯示出來:
import cv2
img = cv2.imread("example.jpg")
cv2.imshow("Image", img)
cv2.waitKey(0)
以上代碼中,cv2.imread()函數用來讀取指定路徑的圖片文件,讀取得到的圖像數據存儲在img變數中;cv2.imshow()函數用來在窗口中顯示圖像,其中第一個參數為窗口名稱,第二個參數為要顯示的圖像變數;cv2.waitKey()函數用於等待用戶的按鍵操作。
3.2 圖像灰度化
在圖像處理中,灰度化通常是一個非常重要的預處理步驟。OpenCV提供了非常簡單的將彩色圖像轉換為灰度圖像的方法:
import cv2
img = cv2.imread("example.jpg", 0)
cv2.imshow("Gray Image", img)
cv2.waitKey(0)
其中,cv2.imread()函數的第二個參數指定了要將圖像轉換成灰度圖像的模式。
3.3 圖像邊緣檢測
邊緣檢測是圖像處理中的一個重要任務。幾乎所有的圖像邊緣檢測演算法都是從將圖像灰度化開始的。OpenCV提供了多種邊緣檢測演算法方法,如Sobel、Scharr、Laplacian等等。
下面是使用Laplacian運算元進行邊緣檢測的示例代碼:
import cv2
import numpy as np
img = cv2.imread("example.jpg", 0)
laplacian = cv2.Laplacian(img, cv2.CV_64F)
cv2.imshow("Laplacian Image", laplacian)
cv2.waitKey(0)
該示例代碼中使用了OpenCV自帶的Laplacian運算元函數cv2.Laplacian(),並將其應用到了一個灰度圖像上得到了邊緣圖像。
3.4 圖像閾值處理
圖像閾值處理是圖像處理中非常重要且應用廣泛的基本操作。OpenCV提供了多種圖像閾值化方法,例如自適應閾值、固定閾值等等。
以下示例代碼使用固定的閾值方法進行圖像二值化處理:
import cv2
img = cv2.imread("example.jpg", 0)
ret,thresh1 = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
cv2.imshow("Binary Image", thresh1)
cv2.waitKey(0)
其中,cv2.threshold()函數的第一個參數為要進行圖像閾值處理的圖像,第二個參數為閾值,圖像中每個像素都會和這個閾值進行比較,如果該像素的值大於閾值,則將其賦值為第三個參數;反之,則將其賦值為第四個參數。
結語
本文向大家介紹了如何安裝和使用OpenCV,在工作和學習中,OpenCV是非常有用的計算機視覺工具之一。通過使用OpenCV,我們可以很容易地實現各種圖像處理任務或者進行圖像特徵提取工作。希望本文能夠對大家有所幫助。
原創文章,作者:QWPX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/149643.html