如何使用 Opencv 打开摄像头获取图像信息

如何使用 Opencv 打开摄像头获取图像信息,第1张

#include <opencv2/opencvhpp>       

using namespace cv;  

  

void main()  

{  

    VideoCapture capture(0);//如果是笔记本,0打开的是自带的摄像头,1 打开外接的相机  

    

    char filename[200];  

      int  n = 0;

    while (captureisOpened())  

    {  

        capture >> frame;   

        imshow("video", frame); 

        sprintf(filename, "视频截图%3djpg", n++);

        imwrite(filename, frame);

        if (waitKey(20) == 27)//27是键盘摁下esc时,计算机接收到的ascii码值  

        {  

            break;  

        }  

    }  

}

通过接口调用,获取网络摄像头的 RTSP 推流 URL,需要播放此 RTSP 协议传输的视频流

An HTML5 Flash Video (FLV) Player written in pure JavaScript without Flash

FLV 支持格式

动态添加 rtsp | rtmp | hls 拉流代理。只支持 H264 | H265 | AAC | G711 负载

以 rtsp://somedomaincom:554/live/0token=abcdefg&field=value

通过 流媒体源对应的播放 URL 可知一个 >

1设备

这里用的是海康的鱼眼摄像头,型号是DS-2CD3955FWD-IWS,其实基本上能支持sdk二次开发的IP摄像头都可以(参考这里)。鱼眼摄像头相比普通的摄像头经过扭曲,因此在应用的时候一般需要进行反扭曲,这一步会造成比较大的延迟,因此没有不是特定需求的话尽量使用普通的就可以。

注:海康的萤石系列貌似并不能通过RTSP地址获取,而这里的方法需要用RTSP进行视频流获取,所以无法萤石系列就不在此列。

2通过RTSP地址获取视频流

首先需要知道海康设备的RTSP地址,可以通过这里进行查看。

import cv2

source = ""rtsp://admin:12345@192168164/Streaming/Channels/1"

注: admin和12345分别是ip camera的用户名和密码,在浏览器上第一次登录摄像头的时候会进行设置;

192168164是摄像头的默认IP,在浏览器中输入即可进入登录页面(如下);

Channels/1和Channels/2分别对应主码流和子码流地址,两者的分辨率不同。IP摄像头无法通过opencv调节分辨率,只能在海康的监控界面的配置进行设置(如下)。

3 摄像头校准(calibration)(optional)

这个配置有很多,而且官方提供的校准文档很详细(戳这里),就不具体细讲了。需要python版本的代码的话可以直接fork这里;如果是c++版本的话可以参考这里

以上就是关于如何使用 Opencv 打开摄像头获取图像信息全部的内容,包括:如何使用 Opencv 打开摄像头获取图像信息、播放 RTSP 视频流、请问如何获取IP camera每一帧的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9577084.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存