Python调用外置摄像头
更新时间:2023-12-22Python调用外置摄像头
如果你正在使用 Python 编写一个基于图像处理或计算机视觉的应用程序,那么你可能需要访问外部的摄像头。在本篇文章中,我们将介绍如何在 Python 程序中调用外置摄像头。
安装需要的库
在调用外置摄像头之前,你需要先安装 OpenCV 库,以便你可以调用 OpenCV 中的函数来访问摄像头。可以按照以下方式安装它们:
pip install opencv-python pip install opencv-contrib-python
调用摄像头并捕获图像
下面的代码展示了如何使用 OpenCV 在 Python 中调用外置摄像头并捕获图像:
import cv2 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() if not ret: print("Can't receive frame (stream end?). Exiting ...") break cv2.imshow('frame', frame) if cv2.waitKey(1) == ord('q'): break cap.release() cv2.destroyAllWindows()
上面的代码中,我们使用 cap = cv2.VideoCapture(0)
来调用摄像头,并使用 cap.read()
获取视频流中的帧。同时,我们使用 cv2.imshow()
在窗口中显示帧,使用 cv2.waitKey()
来等待用户按下 "q" 键来退出程序。
设置摄像头参数
当你调用外置摄像头时,你可能需要设置一些参数,例如摄像头的分辨率、帧数、曝光时间等。下面的代码展示了如何设置这些参数:
import cv2 cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240) cap.set(cv2.CAP_PROP_FPS, 30) cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0.25) while True: ret, frame = cap.read() if not ret: print("Can't receive frame (stream end?). Exiting ...") break cv2.imshow('frame', frame) if cv2.waitKey(1) == ord('q'): break cap.release() cv2.destroyAllWindows()
上面的代码中,我们使用 cap.set()
来设置摄像头的参数。例如,我们使用 cap.set(cv2.CAP_PROP_FRAME_WIDTH, 320)
来设置帧的宽度为 320 像素,使用 cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 240)
来设置帧的高度为 240 像素,使用 cap.set(cv2.CAP_PROP_FPS, 30)
来设置帧率为 30 帧/秒,使用 cap.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0.25)
来设置曝光时间为 1/4 秒。
总结
在本篇文章中,我们介绍了如何在 Python 程序中调用外置摄像头。我们讨论了安装需要的库、调用摄像头并捕获图像以及设置摄像头参数。希望这篇文章对你有所帮助!