📅  最后修改于: 2023-12-03 14:57:03.591000             🧑  作者: Mango
OpenCV是一个开源计算机视觉库,拥有各种各样的视觉算法和图像处理函数,如图像识别、人脸识别、目标跟踪等等。在这个库中, cv2
模块提供了处理图像和视频的函数。其中,cv2.VideoCapture()
函数可以从本地/远程摄像头中读取视频流,并使用 cv2.imshow()
函数在窗口中进行实时视频显示。
在 Python 中,可以使用 pip 包管理器安装 OpenCV。
pip install opencv-python
import cv2
# 创建一个 VideoCapture 对象,读取摄像头的视频流
cap = cv2.VideoCapture("http://192.168.0.123:8080/video")
# 设置窗口名称
cv2.namedWindow("Window")
# 循环读取摄像头视频流中的每一帧
while True:
# 读取视频流中的每一帧
ret, frame = cap.read()
# 如果视频流正常读取,则显示每一帧
if ret:
# 显示每一帧图片
cv2.imshow("Window", frame)
# 等待 1 毫秒,根据键盘事件判断是否退出窗口
if cv2.waitKey(1) == ord("q"):
break
# 释放摄像头对象
cap.release()
# 关闭所有窗口
cv2.destroyAllWindows()
在上面的示例代码中,cv2.VideoCaptuer()
函数用于创建一个摄像头对象,参数 "http://192.168.0.123:8080/video"
是指本机或其他远程计算机的摄像头视频流。cv2.imshow()
函数用于在窗口中显示每一帧视频画面。cv2.waitKey()
函数用于等待键盘事件并返回按键的 ASCII 编码值,ord()
函数用于将字符转换成 ASCII 编码值。最后,cap.release()
函数用于释放摄像头对象,cv2.destroyAllWindows()
函数用于关闭所有窗口。
通过 cv2
模块,在 Python 中处理图像和视频是非常简单的。除了读取摄像头视频流的示例,cv2
模块还提供了各种图像和视频的处理函数,如调整颜色、转换格式、处理形态学等等。建议深入研究 OpenCV,以获取更好的视觉算法和图像处理函数。