close
在樹莓派5上使用 Libcamera 和 Picamera2 搭配 OpenCV 的完整教學
本教學帶您深入了解如何在樹莓派5(RP5)上結合 Libcamera
和 Picamera2
使用 OpenCV 進行影像處理。
1. 前置準備
硬體需求
- 樹莓派5(RP5)
- 樹莓派相機模組
軟體需求
- 樹莓派 OS(最新版本)
- 已安裝 Libcamera 和 Picamera2
- Python3 和 OpenCV
2. 安裝所需套件
使用以下指令更新系統並安裝必要套件:
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3-pip python3-opencv libcamera-apps python3-picamera2
驗證 OpenCV 是否安裝成功:
python3 -c "import cv2; print(cv2.__version__)"
如果看到版本號表示安裝成功。
3. Libcamera 與 Picamera2 的關係
Libcamera
是底層的相機驅動框架,而 Picamera2
是基於 Libcamera 的 Python 封裝。
架構關係
架構如下:
- 硬體相機模組 → Libcamera → Picamera2(Python 封裝) → 應用程式
Picamera2
讓開發者輕鬆利用 Libcamera 的高效能並整合 Python 進行快速開發。
4. 使用 Picamera2 和 OpenCV
4.1 基本相機預覽與拍照
# 匯入必要模組
from picamera2 import Picamera2
import cv2
# 初始化相機
picam2 = Picamera2()
picam2.configure(picam2.create_preview_configuration())
picam2.start()
# 顯示相機畫面
while True:
frame = picam2.capture_array() # 獲取畫面陣列
cv2.imshow("Preview", frame) # 顯示畫面
if cv2.waitKey(1) & 0xFF == ord('q'): # 按下 'q' 鍵退出
break
# 停止相機並釋放資源
picam2.stop()
cv2.destroyAllWindows()
程式解析
- 初始化相機: 使用
Picamera2
建立相機實例並設定預覽配置。 - 讀取畫面: 使用
picam2.capture_array
獲取相機畫面並使用cv2.imshow
顯示。 - 退出與釋放資源: 按下 'q' 鍵結束循環並釋放相機資源。
5. 常見問題與解決方法
Q: 影像延遲明顯?
嘗試降低解析度或設定較小的畫面大小。
6. 總結
結合 Libcamera
和 Picamera2
,您可以快速開發相機應用並整合 OpenCV 進行影像處理,充分發揮樹莓派的潛力。
文章標籤
全站熱搜