c#使用opencv打开摄像头并且放在picturebox里
时间: 2023-07-20 14:25:33 浏览: 311
使用 C# 调用 OpenCV 打开摄像头并将图像展示在 PictureBox 控件中,可以按照以下步骤进行:
1. 在 Visual Studio 中创建一个 Windows 窗体应用程序。
2. 在“解决方案资源管理器”中,右键单击“引用”,选择“管理 NuGet 包”。
3. 在 NuGet 管理器中搜索“Emgu.CV”,选择“安装”。
4. 在窗体设计器中,将一个 PictureBox 控件拖动到窗体上。
5. 在窗体的代码中,添加如下代码:
```csharp
using Emgu.CV;
using Emgu.CV.Structure;
private Capture capture; // 捕获摄像头视频的对象
private void Form1_Load(object sender, EventArgs e)
{
capture = new Capture(); // 创建捕获摄像头视频的对象
capture.ImageGrabbed += Capture_ImageGrabbed; // 注册帧回调事件
capture.Start(); // 开始捕获视频
}
private void Capture_ImageGrabbed(object sender, EventArgs e)
{
Mat frame = new Mat();
capture.Retrieve(frame, 0); // 从摄像头中获取一帧图像
// 将图像转换为 Bitmap 显示在 PictureBox 中
Bitmap bmp = frame.ToBitmap();
pictureBox1.Image = bmp;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
capture.Stop();
capture.Dispose();
}
```
这样,运行程序后便可以看到摄像头的实时画面在 PictureBox 控件中展示出来了。注意,这里的代码中只使用了默认的摄像头,如果要使用其他摄像头,可以通过修改 `capture` 对象的构造函数参数实现。
阅读全文