首页 文章

Python OpenCV和媒体流

提问于
浏览
0

我的笔记本电脑上有一个网络摄像头 . 相机由Yawcam运行 . 它流式传输视频为192.168.1.6:80,http为192.168.1.6:8888 .

从另一台笔记本电脑,我可以在浏览器中打开页面并查看这些流媒体视频 . 但我想捕获这些视频,用openCV和python进行图像处理 . 我尝试了下面的代码

import cv2.cv as cv

    cv.NamedWindow("camera", 1)
    capture = cv.CaptureFromCAM("http://192.168.1.6:80");
    while True:
        img = cv.QueryFrame(capture)
        cv.ShowImage("camera", img)
        if cv.WaitKey(10) == 27:
            break
    cv.DestroyWindow("camera")

但是在运行期间出错 - 类型错误:需要一个整数 . 如果我用0替换IP地址,程序就会运行 . 有没有办法用openCV获取视频流?

1 回答

  • 0

    IP摄像机的解决方案是:

    你只需要在Python中重写

    最重要的是:使用VideoCapture对象和open()方法 .

    #include <opencv2/opencv.hpp>
    int main(void)
    {
        cv::VideoCapture camera;
        camera.open("http://204.248.124.202/mjpg/video.mjpg"); 
        if (camera.isOpened()==true)
        {
            cv::namedWindow("camera");
            int key = 0;
            while (key != 27)
            {
                cv::Mat_<cv::Vec3b> image;        
                camera.grab();
                camera.retrieve(image);
                cv::imshow("camera",image);
                key = cv::waitKey(10);
            }
        }
    }
    

相关问题