Проблемы с настройкой экспозиции/усиления с помощью Emgu.CV (или OpenCV) с помощью Scientific CamerC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Проблемы с настройкой экспозиции/усиления с помощью Emgu.CV (или OpenCV) с помощью Scientific Camer

Сообщение Гость »


ОС: Windows 2008 R2

Модель камеры: камера Sony IMX, 20 МП

Версия Emgu.CV: 3.1.0.1

Версия .NET Framework: 4.7.2

Я столкнулся с проблемой: после изменения экспозиции камеры nncam с использованием их документации все полученные кадры не обновляются после использования кнопки захвата с использованием кадра запроса Emgu.CV. Мне нужна возможность регулировать экспозицию и усиление, потому что приложение, для которого я это использую, использует возможность регулировки экспозиции вручную.

Вот соответствующий код:

private void SetExposureFromTextbox() { если (cam_ == ноль) { MessageBox.Show("Камера не инициализирована."); возвращаться; } uint newExposure; если (uint.TryParse(exposureTextBox.Text, out newExposure)) { cam_.put_ExpoTime(newExposure); } еще { MessageBox.Show("Неверное значение риска."); } } частная пустота GrabAndDisplayFrame() { используя (Matframe = capture.QueryFrame()) { если (кадр!= ноль) { PictureBox1.Image = Frame.ToImage().Bitmap; //Получаем значение экспозиции с камеры uint обновленныйCameraExposure; cam_.get_ExpoTime (из обновленногоCameraExposure); currentExposureTextBox.Text = updateCameraExposure.ToString(); } } } частный void capture_push_Click (отправитель объекта, EventArgs e) { // Удалить текущий объект захвата если (захват!= ноль) { захват.Dispose(); захват = ноль; } // Создаем новый объект захвата захват = новый захват (0); // nncam — камера по умолчанию. УстановитьЭкспозициюИзТекстбокса(); GrabAndDisplayFrame(); } Я что-то упустил? Нельзя ли использовать Emgu.CV в качестве «FrameGrabber» и использовать встроенные элементы управления экспозицией/усилением камеры (в данном случае cam_.get_ExpoTime)?

Я отрегулировал время экспозиции с помощью элементов управления камерой, ожидая, что кадры будут отражать новые настройки экспозиции. Однако, хотя камера подтвердила изменение экспозиции, изображение, отображаемое в окне изображения, осталось неизменным. Я также отключил свойство автоэкспозиции камеры во время инициализации.
private void InitializeCamera() { Nncam.DeviceV2[] arr = Nncam.EnumV2(); если (Длина массива > 0) { cam_ = Nncam.Open(arr[0].id); // Назначаем объект камеры полю cam_ // Отключаем автоэкспозицию cam_.put_AutoExpoEnable(ложь); // Устанавливаем экспозицию и усиление cam_.put_ExpoTime(1001); } еще { MessageBox.Show("Камера Nncam не найдена."); } // Инициализируем захват Emgu.CV захват = новый захват (0); // Предполагаем, что камера Nncam является камерой по умолчанию }
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»