为了使用 cv2.imshow 功能,你需要安装包含 GUI 支持的 OpenCV 版本。这通常涉及安装一些额外的系统级依赖,并安装非 headless 版本的 OpenCV。下面是步骤:
卸载当前的 OpenCV headless 版本:
pip uninstall opencv-python-headless
安装 GUI 相关的依赖: 在安装标准版本的 OpenCV 之前,你需要确保系统有必要的库来支持 GUI。在 Raspberry Pi 上,你可以安装 GTK+ 相关的开发库。
sudo apt-get install libgtk-3-dev
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
这些库将帮助 OpenCV 使用窗口来显示图像。
安装标准版的 OpenCV: 现在你可以安装包含 GUI 支持的标准 OpenCV:
pip install opencv-python
重新运行你的脚本: 安装完成后,重新运行你的 Python 脚本:
python3 camera_view.py
这应该解决 imshow 不可用的问题,允许你在 GUI 窗口中查看摄像头捕获的图像。
#camera_view.py
import cv2
# 啟動攝影機
cap = cv2.VideoCapture(0)
if not cap.isOpened():
print("無法開啟攝影機")
exit()
# 顯示影像
while True:
ret, frame = cap.read()
if not ret:
print("無法讀取影像")
break
cv2.imshow('Camera', frame)
# 按 'q' 鍵退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 釋放攝影機和關閉所有視窗
cap.release()
cv2.destroyAllWindows()