Я использую библиотеку Emgu для интеграции функций открытой веб-камеры CV в C #.
Я использую этот код для выбора устройства захвата и установки его размера:
camera = new Capture(0);
camera.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, videoSettings.width);
camera.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, videoSettings.height);
Затем я отображаю его в imageBox вот так:imageBox1.Image = camera.QueryFrame();
Затем, чтобы сделать снимок текущего кадра, я использую этот код:
Image<Bgr, byte> snapshot = camera.QueryFrame();
snapshot.Save("snapshot.jpg");
Хотя я хотел бы иметь возможность сохранить снимок с более высоким разрешением, чем окно предварительного просмотра.
Но проблема в том, что, насколько мне известно, я не могу создать новый объект «Захват» с помощью той же веб-камеры. Поэтому мне интересно, возможно ли установить высоту и ширину camera.setCaptureProperty
, скажем, 1028x720, но затем каким-то образом обрезать их для отображения в imageBox с разрешением 514x360?
Или есть другой способ сделать это?