C# VideoCapture更改摄像头分辨率
时间: 2024-06-08 13:08:34 浏览: 212
要更改摄像头的分辨率,您需要使用 VideoCapture 类中的 set() 方法。以下是一些示例代码,可以帮助您更改摄像头的分辨率:
```csharp
using System;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;
namespace CameraCapture
{
public partial class Form1 : Form
{
private VideoCapture capture;
public Form1()
{
InitializeComponent();
// 初始化摄像头
capture = new VideoCapture(0);
// 设置摄像头分辨率为 640x480
capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 640);
capture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 480);
}
private void btnStart_Click(object sender, EventArgs e)
{
// 开始捕获视频
capture.Start();
// 从摄像头中获取帧
Mat frame = new Mat();
capture.Read(frame);
// 显示帧
imageBox1.Image = frame;
}
private void btnStop_Click(object sender, EventArgs e)
{
// 停止捕获视频
capture.Stop();
}
}
}
```
在上面的示例代码中,我们使用了 `SetCaptureProperty()` 方法来设置摄像头的分辨率。我们传递了 `FrameWidth` 和 `FrameHeight` 参数来设置宽度和高度。您可以将这些值更改为您需要的任何分辨率。
阅读全文