Можно ли улучшить качество изображений, которые я снимаю со скоростью 90 кадров в секунду?

Я использую «Raspicam» ( https://www.raspberrypi.org/documentation/hardware/camera.md ) для проекта робототехники, где мне нужно получить как можно больше изображений за 1 секунду.

Камера работает отлично, когда я использую ее в стационарном режиме. Однако все кажется довольно темным, когда я переключаю его на 90 кадров в секунду, 320x240.

В конце я буду обрабатывать изображение, так что низкое разрешение не проблема, а даже преимущество для меня. Однако я не могу ставить под угрозу качество цветов, так как от этого будет зависеть вся обработка.

У меня есть следующие свойства для настройки:

  • CV_CAP_PROP_BRIGHTNESS: [0,100]

оставил это в автоматическом режиме -1

  • CV_CAP_PROP_CONTRAST: [0,100]

оставил это в автоматическом режиме -1, а также

  • CV_CAP_PROP_SATURATION: [0,100]

б/у 100

  • CV_CAP_PROP_GAIN: (изо): [0,100]

б/у 100

  • CV_CAP_PROP_EXPOSURE: -1 авто. [1100] выдержка от 0 до 33 мс

б/у 100

  • CV_CAP_PROP_WHITE_BALANCE_RED_V : [1100] -1 автоматический баланс белого

оставил его в автоматическом режиме (все, что не равно нулю, по какой-то причине испортило изображение)

  • CV_CAP_PROP_WHITE_BALANCE_BLUE_U : [1,100] -1 автоматический баланс белого

оставил в автоматическом режиме

Есть ли способ улучшить качество изображений, которые я получаю со скоростью 90 кадров в секунду, используя эти значения? Что может быть причиной затемнения моего изображения?

Вот изображение, которое у меня есть при 90 кадрах в секунду:

введите описание изображения здесь

Вот изображение, которое у меня есть в стационарном режиме (у этого разрешение выше, я просто загрузил его, чтобы показать, как должны выглядеть реальные цвета):

введите описание изображения здесь

Вы перечисляете настройки, но не указываете, какие значения вы использовали для них при съемке изображений. Какие именно настройки вы изменили между двумя изображениями, которые вы разместили?
Просто добавил их.
Соответствует ли CV_CAP_PROP_EXPOSUREзначение 100выдержке 33 мс? Может быть, я что-то упускаю, но 90 кадров в секунду соответствуют абсолютной максимальной выдержке 1/90 = 0,011111 с = 11,1 мс.
Вы правы, я пропустил это. Я просто установил скорость затвора на ~ 9 мс, но, к сожалению, это не решило проблему.
Я только что понял, что все имеет какое-то красное смещение. Мои стены желтые, но они кажутся красноватыми. Все остальное становится только темнее.
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается машинного зрения и обработки изображений, а не фотографии.
Вы заявляете, что ваши цели полностью отличаются от цели создания фотографии. Поскольку это то, о чем этот сайт, это не по теме. Если бы вы делали робота с целью делать фотографии, это было бы в тему (даже если бы это было связано с программированием).
Дело в том, что независимо от моей цели у меня есть камера, которая по какой-то причине выдает изображения плохого качества. Поэтому мне нужно задать вопрос, какие свойства камеры могут быть причиной, и люди здесь понимают эту концепцию. Если я задам этот вопрос, например, в stackoverflow, они будут знать только то, как я настраиваю какое-то свойство камеры с помощью кода. Но какое свойство настраивать для лучшего изображения - это не специальность программистов.
Ведь я мог бы просто соврать о своей цели и задать тот же вопрос, и не было бы тогда оффтопа с вашим мнением. Вопрос нужно адресовать нужным людям с соответствующими знаниями, поэтому я разместил его здесь. Я думаю, вы понимаете такие свойства, как усиление, скорость затвора, гораздо лучше, чем мы, программисты. И качество моих изображений испорчено из-за настроек камеры, еще один снимок с автоматическими настройками дает прекрасное изображение, но эта настройка слишком медленная для моей цели. Поэтому я просто хотел спросить, над какими аспектами я мог бы поработать, чтобы получить более качественные изображения.

Ответы (3)

TL;DR

Не так много, правда. Выдержка 11 мс, в помещении, при слабом освещении — сложная ситуация даже для профессиональной камеры.


дольше

Примечание: мой английский ограничен, и я отвечаю только той информацией, которую смог найти о Raspicam.

Я полагаю, вы совершаете обычную ошибку, путая частоту кадров (fps) с выдержкой; они похожи, но не связаны.

Выдержка — это время, в течение которого матрица камеры подвергается воздействию света: чем дольше свет попадает в камеру и попадает на матрицу внутри, тем ярче будет конечное изображение; например, скорость затвора 10 мс означает, что затвор открыт в течение 10 мс и что датчик получает свет в течение этого времени.

Вместо этого частота кадров — это скорость, с которой камера записывает кадры: если не вдаваться в подробности, 90 кадров в секунду означает, что каждую 1/90 секунды камера принимает любой сигнал, поступающий на датчик, и генерирует новый кадр. Здесь нет длительности: что есть, то есть.

Итак, если вы установите скорость затвора на 11 мс, это означает, что ваш затвор открывается, датчик получает свет в течение 11 мс, затем затвор закрывается и так далее. И искренне, при выдержке 1/90 в помещении при плохом освещении без вспышки даже на хорошую аппаратуру особо не надеешься, тем более на игрушечную камеру типа Raspicam.

Итак, что вы можете сделать, в конце концов?

Смотря как.

Raspi имеет отдельные настройки частоты кадров и скорости затвора. Таким образом, вы можете оставить 90 кадров в секунду, если вам это действительно нужно, и изменить скорость затвора, чтобы попытаться добиться чего-то, если условия позволяют это. Теория гласит, что ваша скорость затвора должна быть в два раза больше частоты кадров, поэтому для частоты кадров 90 кадров в секунду (1/90) ваша скорость затвора должна быть 5,5 мс (1/180); это хорошее эмпирическое правило, но вы можете игнорировать его, если результаты соответствуют вашим потребностям и, например, попытаться сделать наоборот. Сильно сомневаюсь, что у вас получится что-то хорошее, но попытка не помешает.

Почему же тогда я не сталкиваюсь с этой проблемой темноты на стационарных изображениях? Я имею в виду, что для стационарного изображения он улавливает более чем достаточно света. Пробовал снижать fps до 30, но качество не улучшилось вообще чего я не ожидал. Я начал сомневаться, не связано ли это с высоким fps, может быть какие-то настройки сделаны неправильно в режиме камеры. Но поскольку я не знаком с этой концепцией, я понятия не имею, что может быть не так.
Если под «стационарным» вы подразумеваете неподвижное изображение с помощью команды raspistill, возможно, это связано с тем, что неподвижное изображение создается в автоматическом режиме, когда камера выбирает правильные настройки для получения надлежащего освещения. Судя по вашему комментарию, у меня сложилось впечатление, что вы не настолько хорошо разбираетесь даже в основах фотографии, чтобы понять, как все это работает; если вы планируете действительно использовать эту камеру, попробуйте просто выполнить быстрый поиск в Интернете по термину «выдержка».
Э, и кстати... спасибо за доверие, но если мой ответ не помог вам решить проблему, не отмечайте его как принятый. Это побудит других публиковать новые ответы (надеюсь, тогда они будут более эффективными в решении проблемы) :-)
Ваш ответ был довольно информативным, я думаю, он охватывает то, что этот сайт может сказать о моей проблеме. Я надеялся, что люди здесь смогут на собственном опыте сказать, чего не хватает на темном изображении. Кажется, что все ответы связаны с автоматическими настройками и скоростью затвора, но кажется, что невозможно сказать, что «...» отсутствует, просто глядя на изображения. Итак, я начну с изучения скорости затвора и того, как выполняются автоматические настройки, и посмотрю, к чему это приведет. Еще раз большое спасибо, вы были очень полезны. :)

Если эту проблему можно решить, то, скорее всего, она вызвана следующим:

оставил это в автоматическом режиме -1

Вы оставили многие настройки в автоматическом режиме. Автоматический режим означает, что вы теряете большую часть контроля над происходящим.

Возможно камера не в состоянии сделать все расчеты для всех автоматических режимов при поднятой частоте кадров.

Измените все настройки на какое-то значение, отличное от auto, чтобы получить достойный результат.

Затем попробуйте, если вы по-прежнему получаете одинаковые результаты для разных частот кадров.

Наилучший подход к предотвращению изменения результатов изображения (от статического пейзажа) — сохранить постоянные настройки камеры.

Это в значительной степени то, что касается объема этого сайта.


Если проблема не устранена, попробуйте использовать камеру с другим программным обеспечением.

Используйте встроенное программное обеспечение, как описано в документации , и посмотрите, есть ли у вас такая же проблема с этим программным обеспечением.

Скорее всего, все дело в программной или аппаратной проблеме, которая выходит за рамки этого сайта. Попробуйте задать вопрос на http://raspberrypi.stackexchange.com , у которого есть этот вопрос, который кажется связанным:

Библиотека Raspicam C++ — захваченное изображение требует нескольких захватов, чтобы быть должным образом ярким

Можно ли улучшить качество изображений, которые я снимаю со скоростью 90 кадров в секунду?

Конечно. Вам нужно добавить больше света.