Emgucv摄像头使用

本文档详细介绍了使用Emgucv库进行摄像头操作的步骤,包括引用库、设置变量、启动VideoCapture以及关闭摄像头的方法,同时提供了一种不同的开启摄像头的方案。
摘要由CSDN通过智能技术生成

Emgucv摄像头使用

1、引用

using Emgu.CV;
using Emgu.CV.CvEnum;


2、引用变量

private VideoCapture _capture = null;
private Mat _frame;

3、VideoCapture需要加载方法

        private void ProcessFrame(object sender, EventArgs e)
        {
            if (_capture != null && _capture.Ptr != IntPtr.Zero)
            {
                _capture.Retrieve(_frame, 0);
                imageBox1.Image = _frame;//imageBox1显示控件
            }
        }

4、开启摄像头

        private void btnOpenCapture_Click(object sender, EventArgs e)
        {
            _capture = new VideoCapture();
            _capture.ImageGrabbed += ProcessFrame;
            _frame = new Mat();
            if (_capture != null)   _captur
WPF (Windows Presentation Foundation) 是一种用于创建Windows应用程序的框架,而EMGU.CV是一个开源库,它封装了OpenCV(计算机视觉库),使得在.NET平台上进行图像处理和计算机视觉工作变得更加方便。 在WPF中利用EMGU.CV调用摄像头通常需要以下步骤: 1. **安装依赖**:首先在项目中添加对EMGU.CV和System.Windows.Media的引用。如果尚未安装,可通过NuGet包管理器搜索并安装`Emgu.CV`和`Emgu.CV.Xamarin.Wpf`包。 2. **初始化设备**:在XAML文件中配置VideoCapture控件,例如: ```xml <MediaElement x:Name="videoSource" Width="640" Height="480" AutoPlay="True" Stretch="UniformToFill"/> ``` 然后在背后代码中通过`VideoCaptureDevice enumeratedDevices`获取可用的摄像头,并创建实例: ```csharp using Emgu.CV; using Emgu.CV.CvEnum; var camera = new VideoCapture(CvEnum.VideoCaptureDevice.Main); ``` 3. **实时抓取和显示帧**: ```csharp private void videoSource_NeededRenderSizeChanged(object sender, SizeEventArgs e) { // 设置视频源大小 camera.SetCaptureProperty(VideoCapture_PROP.FrameWidth, e.NewSize.Width); camera.SetCaptureProperty(VideoCapture_PROP.FrameHeight, e.NewSize.Height); } private async Task CaptureAndDisplay() { while (true) { Mat frame = await camera.QueryFrameAsync(); if (frame == null) break; // 进行图像处理,如缩放、转换格式等 Mat processedFrame = ...; // 显示到MediaElement上 videoSource.Source = BitmapSource.Create( processedFrame.Width, processedFrame.Height, 96, 96, PixelFormats.Bgr24, null, processedFrame.ToImage<Bgr, byte>().Data); } } ``` 4. **启动捕捉**: 启动捕获循环并在适当的时候启动`CaptureAndDisplay`方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值