📌  相关文章
📜  Opencv 网络摄像头 - Python (1)

📅  最后修改于: 2023-12-03 14:44:54.225000             🧑  作者: Mango

Opencv 网络摄像头 - Python

OpenCV是一个开源计算机视觉库,可用于处理图像和视频。它具有广泛的应用领域,如视觉检测、跟踪、人脸识别、图像增强等。

在Python中,我们可以使用OpenCV库来读取网络摄像头、拍摄照片和录制视频。

读取网络摄像头

可以使用OpenCV读取网络摄像头并进行处理。这里我们使用Python的cv2库中的VideoCapture函数来读取网络摄像头。

import cv2

cap = cv2.VideoCapture('http://192.168.1.1:8080/video')
while True:
    ret, frame = cap.read()
    if ret:
        cv2.imshow('frame', frame)
    if cv2.waitKey(1) == 27:
        break

cap.release()
cv2.destroyAllWindows()

这段代码中,我们使用VideoCapture函数打开并读取网络摄像头的视频流。我们在一个while循环中不断地读取视频帧,并在窗口中显示。

在退出程序之前,我们需要释放VideoCapture并销毁窗口。

拍照和录制视频

除了读取网络摄像头,我们还可以使用OpenCV来进行拍照和录制视频。下面是一个例子,展示了如何使用cv2库来拍照和录制视频。

import cv2

cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*"XVID")
out = cv2.VideoWriter("output.avi", fourcc, 30.0, (640,480))

while True:
    ret, frame = cap.read()
    if ret:
        cv2.imshow('frame', frame)
        out.write(frame)
    if cv2.waitKey(1) == 27:
        break
    elif cv2.waitKey(1) == ord('s'):
        cv2.imwrite('photo.jpg', frame)

cap.release()
out.release()
cv2.destroyAllWindows()

在这个例子中,我们使用VideoCapture函数打开默认的摄像头,并将每帧图像写入一个VideoWriter对象中。我们可以使用cv2.imwrite函数来拍照,并将帧保存为图片。

在退出程序之前,我们需要释放VideoCapture和VideoWriter,并销毁窗口。

结论

在本文中,我们介绍了如何使用OpenCV库读取网络摄像头、拍照和录制视频。这些技术在计算机视觉、机器人、监控等领域都具有广泛的应用。如果你对计算机视觉有兴趣,那么OpenCV是一个不错的学习选择。