2012-12-20 2 views
7

Я работаю над проектом сшивки изображений, и я понимаю, что существуют различные подходы к контрасту и яркости изображения. Я мог бы, конечно, справиться с этой проблемой, прежде чем я даже сшил изображение, но результат не такой последовательный, как я бы надеялся. Поэтому мой вопрос в том, возможно ли когда-либо «сбалансировать» или «сравнять» контрастность и яркость в цветных изображениях после того, как произошло сшивание?Балансирующий контраст и яркость между сшитыми изображениями

ответ

4

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

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

+0

Не могли бы вы показать мне практический пример? Я понимаю понятия, но по-разному в OpenCV им немного потеряно. – JavaCake

4

Возможно, вы захотите взглянуть на Exposure Compensator class от OpenCV.

Компенсация экспозиции производится в 3 этапа:

  1. Создать экспозицию компенсатора

    Ptr<ExposureCompensator> compensator = ExposureCompensator::createDefault(expos_comp_type);

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

    compensator->feed(corners, images, masks);

  3. Теперь он имеет всю информацию о том, как изображения перекрываются, вы можете компенсировать каждое изображение по отдельности

    compensator->apply(image_index, corners[image_index], image, mask);

Компенсированного изображение будет храниться в image

+0

Удалось ли вам управлять этим кодом? – user65721

+0

Не могли бы вы поделиться кодом. Я пробовал это и не мог справиться с этим! – user65721

+0

Я тоже пытаюсь это сделать. Для большей информации он реализован в примере 'stitching_detailed.cpp' из проектов примеров cpp. –

Смежные вопросы