用opencvsharp打开摄像头,实时显示在picturebox中
时间: 2024-06-10 18:07:22 浏览: 234
OpenCV读取摄像头显示到c#winform窗体上或pictureBox控件上
5星 · 资源好评率100%
Hi,很高兴能为您解答问题!关于您的问题,可以通过以下代码使用opencvsharp实现打开摄像头并将其实时显示在picturebox中:
```csharp
using OpenCvSharp;
private VideoCapture capture;
private Mat frame;
private void Form_Load(object sender, EventArgs e)
{
// 打开摄像头
capture = new VideoCapture(0);
// 设置摄像头参数
capture.Set(CaptureProperty.FrameWidth, 640);
capture.Set(CaptureProperty.FrameHeight, 480);
capture.Set(CaptureProperty.Fps, 30);
// 创建一个线程用于实时展示摄像头内容
Thread live = new Thread(new ThreadStart(LiveCamera));
live.Start();
}
private void LiveCamera()
{
while (capture.IsOpened())
{
// 读取摄像头帧
capture.Read(frame);
// 将帧转为bitmap格式
Bitmap bitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(frame);
// 更新picturebox显示内容
Invoke(new Action(() =>
{
picBox.Image = bitmap;
}));
}
}
private void Form_Closing(object sender, FormClosingEventArgs e)
{
// 释放摄像头资源
capture.Release();
frame.Dispose();
}
```
希望能够帮到您,如果您还有其他问题,请随时提出,我会尽力为您解答!
阅读全文