Python是一門十分強大的語言,擁有著眾多的支持庫,包括會處理圖像的庫cv2。在本文中,我們將會對pip install cv2這個庫進行詳細闡述,具體包括以下方面:
一、簡介
cv2是OpenCV(Open Source Computer Vision Library)的Python介面,可以方便地用Python進行圖像處理。
OpenCV支持數字圖像處理和計算機視覺,主要是通過C/C++介面進行編寫。從最初發布的版本開始,OpenCV已經逐步成為了計算機視覺領域的一項重要工具,他支持許多主流的操作系統,如Linux, Windows, MacOS等,以及多種編程語言,如C++, Python, Java等。而cv2作為其中的一個介面,是Python中較為高效的圖像處理工具之一。
二、安裝方式
安裝cv2前,將pip升級到最新版本。終端運行:
pip install --upgrade pip
1、Windows系統用戶:
下載與自己Python版本相對應的whl文件並安裝:
pip install opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl
2、Linux十分方便,運行以下命令即可:
pip install opencv_python
三、使用方法
1.讀取與顯示圖像
使用cv2.imread()來讀取一張圖片,並使用cv2.imshow()將圖片顯示到屏幕上。
代碼如下:
import cv2
img = cv2.imread('picture.jpg', 0) # 載入灰度圖像
cv2.imshow('image', img) # 顯示圖像
cv2.waitKey(0) # 等待按鍵按下
cv2.destroyAllWindows() # 關閉所有窗口
該代碼會將名為picture.jpg的圖片讀入,並以灰度模式輸出。我們使用cv2.imshow()函數展示圖片,其中』image』是窗口名字。cv2.waitKey()函數等待按鍵按下,而cv2.destroyAllWindows()函數關閉所有窗口。
2.圖像基本操作
我們可以使用cv2.getTrackbarPos()函數來獲取滑動條的位置值。滑動條是圖像調色板的一部分,用於調整圖像顏色。用cv2.createTrackbar(『name』,』window』,value, count, callback)來創建一個滑動條,『name』是滑動條的名字,『window』是它所在的窗口的名字,value是滑動條的初始位置,count是滑動條的最大值,callback是拖動滑動條是回調函數的名稱。
代碼如下:
import cv2
import numpy as np
img = np.zeros((300,512,3), np.uint8) # 創建黑色圖像
cv2.namedWindow('image') # 創建窗口
def nothing(x):
pass
# 創建滑動條
cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)
while(1):
cv2.imshow('image',img)
k = cv2.waitKey(1) & 0xFF
if k == 27: # 按下ESC退出
break
# 獲取滑動條值
r = cv2.getTrackbarPos('R','image')
g = cv2.getTrackbarPos('G','image')
b = cv2.getTrackbarPos('B','image')
img[:] = [b,g,r]
cv2.destroyAllWindows()
3.圖像處理操作
cv2中有許多強大的圖像處理函數,如cv2.Canny()函數用於邊緣檢測。使用它,我們可以得到一張黑白的邊緣圖像。
代碼如下:
import cv2
img = cv2.imread('picture.jpg',0) # 載入灰度圖像
edges = cv2.Canny(img,50,150) # 進行邊緣檢測
cv2.imshow('Original', img)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
4.OpenCV調用攝像頭
我們可以使用cv2.VideoCapture()函數從攝像頭中獲取視頻幀,並在屏幕上輸出視頻。
代碼如下:
import cv2
cap = cv2.VideoCapture(0) # 獲取攝像頭對象
while True:
ret, frame = cap.read() # 讀取一幀
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 轉為灰度圖
cv2.imshow('frame', gray) # 顯示幀
if cv2.waitKey(1) & 0xFF == ord('q'): # 按下q關閉
break
cap.release() # 釋放攝像頭
cv2.destroyAllWindows()
總結
在Python中,cv2是一種重要的圖像處理庫,可以方便地進行圖像處理相關操作。本次文章著重介紹了cv2的安裝、使用以及相關函數的使用。希望大家在學習過程中多動手實踐,加深對其的理解,為後續圖像處理的應用提供幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/301251.html