一、OpenCV 簡介
OpenCV(Open Source Computer Vision Library)是一個開源計算機視覺和機器學習軟件庫,提供了超過 2500 個優化的算法,用于實時圖像處理、視頻分析、對象識別、人臉檢測、機器學習等任務。
Python 提供了對 OpenCV 的完整綁定接口:cv2
。
二、安裝 OpenCV
2.1 使用 pip 安裝(推薦)
pip install opencv-python
pip install opencv-python-headless # 若不需要 GUI 窗口(如服務器環境)
2.2 使用 Anaconda 安裝
conda install -c conda-forge opencv
2.3 驗證安裝
import cv2
print(cv2.__version__)
三、OpenCV 基本操作
3.1 讀取并顯示圖像
import cv2img = cv2.imread('example.jpg')
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
注意:某些平臺不支持
cv2.imshow
,建議使用 Jupyter 的 matplotlib 顯示。
3.2 灰度圖轉換
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
3.3 圖像保存
cv2.imwrite('gray.jpg', gray)
四、攝像頭訪問與視頻處理
cap = cv2.VideoCapture(0)while True:ret, frame = cap.read()if not ret:breakcv2.imshow('Live', frame)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()
五、常見圖像處理功能
5.1 圖像縮放與裁剪
resized = cv2.resize(img, (200, 200))
cropped = img[50:150, 100:200]
5.2 邊緣檢測
edges = cv2.Canny(img, 100, 200)
5.3 模糊處理
blur = cv2.GaussianBlur(img, (5, 5), 0)
六、圖像繪圖功能
cv2.line(img, (0, 0), (100, 100), (0, 255, 0), 2)
cv2.rectangle(img, (50, 50), (150, 150), (255, 0, 0), 2)
cv2.circle(img, (100, 100), 50, (0, 0, 255), -1)
七、常見問題
Q1: 安裝失敗或速度慢?
可使用清華鏡像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
Q2: GUI 顯示函數報錯?
使用 headless 版本的 opencv 可能無法使用 cv2.imshow()
,需要使用非 headless 版本:
pip uninstall opencv-python-headless
pip install opencv-python
八、學習資源推薦
- OpenCV 官方文檔
- OpenCV-Python Tutorials
- PyImageSearch 教程
- 《OpenCV 4 編程實戰》
本文由“小奇Java面試”原創發布,轉載請注明出處。
可以搜索【小奇JAVA面試】第一時間閱讀,回復【資料】獲取福利,回復【項目】獲取項目源碼,回復【簡歷模板】獲取簡歷模板,回復【學習路線圖】獲取學習路線圖。