c# 读取大华摄像头数据;流方式和 RTSP

方法一:在.NET Framework4.0框架下 加装大华设想头并采用数据流方式实时读取摄像头数据;
关于摄像头数据读取方式主要有两种;1、采用数据流的方式;2、采用RTSP 流数据拉取; 两种方式各有千秋;主要看应用场景;本文采用了 sdk 中的数据流直接读取的方式;通过测试发现优点就是时效性更高一点。大约快500ms以上;
SDK 的下载请异步到 大华官网
设备网络SDK-浙江大华技术股份有限公司 (dahuatech.com)

关于摄像头的配置工作请自行越多使用说明本文不在阐述;

搭建第一个读数 摄像头数据并将数据转变成 opencv 需要的 mat 格式;

第一步:
 新建一个 C# windows 窗体程序 名称定义为DaHuaDemo;
在窗体上放置如下控件 pictureBox 命名为realplay_pictureBox ;用于接收 摄像头流数据实时显示;pictureBox 命名为PBCaptureImage 用来处理识别后或者处理后的图片
放置:textbox 用于输入 摄像头的 IP 以及端口号和 登录用户名和密码; 
放置button 用于登录:

代码如下:

      private static fDisConnectCallBack m_DisConnectCallBack;
        private static fHaveReConnectCallBack m_ReConnectCallBack;
        private static fRealDataCallBackEx2 m_RealDataCallBackEx2;
        private static fSnapRevCallBack m_SnapRevCallBack;
        private IntPtr m_LoginID = IntPtr.Zero;
        private NET_DEVICEINFO_Ex m_DeviceInfo;
        private IntPtr m_RealPlayID = IntPtr.Zero;
        private const int MaxSpeed = 8;
        private const int MinSpeed = 1;
        private static Mat rbgImg=new Mat();
        private static Mat yuvImg;

 

 private void RealPlayAndPTZDemo_Load(object sender, EventArgs e)
        {
            m_DisConnectCallBack = new fDisConnectCallBack(DisConnectCallBack);
            m_ReConnectCallBack = new fHaveReConnectCallBack(ReConnectCallBack);
            m_RealDataCallBackEx2 = new fRealDataCallBackEx2(RealDataCallBackEx);
            m_SnapRevCallBack = new fSnapRevCallBack(SnapRevCallBack);

            yuvImg = new Mat(2880, 2560, MatType.CV_8UC1);

         // 这个地方 采用不同的 摄像头传递 图像大小确定
            //yuvImg = new Mat(1440, 1280, MatType.CV_8UC1);
            try
            {
                NETClient.Init(m_DisConnectCallBack, IntPtr.Zero, null);
                NETClient.SetAutoReconnect(m_ReConnectCallBack, IntPtr.Zero);
                NETClient.SetSnapRevCallBack(m_SnapRevCallBack, IntPtr.Zero);
                InitOrLogoutUI();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值