Emgu入门播放摄像头视频(一)

2 篇文章 0 订阅

Emgu CV介绍:

Emgu cv其实就是Opencv的net版本,opencv官方没有net版本的。

接下来开始我们的Demo

1.新建Winform/WPF项目(Emgu自带的控件继承Picturebox,wpf的话需要WindowsFormsHost来放置winform的控件),例子使用的是WPF的

2.使用Nuget添加Emgu的引用,我现在使用的是3.4的版本,安装这一个就可以,以前的版本Emgu很多东西都不一样,我使用最新的

安装完成时候可以在引用里面看到:

3.接下来开始使用Emgu cv相关打开摄像头

初始化

        /// <summary>
        /// Emgu cv 的控件
        /// </summary>
        ImageBox emguBox = new ImageBox();

        /// <summary>
        /// 用来打开摄像头,播放
        /// </summary>
        private VideoCapture _capture = null;

        /// <summary>
        /// 用来获取摄像头视频影像
        /// </summary>
        Mat frame;

        /// <summary>
        /// 初始化 
        /// </summary>
        private void InitCamera()
        {
            if (_capture == null)
            {
                _capture = new VideoCapture(0);

                //打开摄像头后获取的影像会触发事件
                _capture.ImageGrabbed += _capture_ImageGrabbed;

                frame = new Mat();
            }

        }

        /// <summary>
        /// 摄像头获取到影像事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public virtual void _capture_ImageGrabbed(object sender, EventArgs e)
        {
            if (_capture != null && _capture.Ptr != IntPtr.Zero)
            {
                //获取影像
                _capture.Retrieve(frame);

                //将影像更新到控件中显示
                emguBox.Image = frame;
            }

        }

最后打开摄像头,就可以播放视频了

            //将控件添加到host中
            winformHost.Child = emguBox;

            //初始化
            InitCamera();

            //打开摄像头
            _capture.Start();

以后会介绍一些复杂的用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值