2013-09-26 2 views
2

Итак, у меня есть изображение с темными пятнами, и они выглядят довольно просто, поэтому я думаю, что я может сделать карту яркости, инвертировать ее, а затем применить ее к моему изображению, чтобы отменить темные пятна. Однако все, что я могу найти, это два метода выравнивания: выравнивание всего изображения (с гистограммой) или сегментация изображения в темных медных и легких частях и выравнивание, которое вы хотите. Первый подход не помогает моей проблеме, и второй подход также делает темные объекты в изображении более легкими. Я уверен, что есть простой способ сделать это (давно я видел, как кто-то это делал в презентации), хотя я еще не смог его найти или придумать.Правильное изображение для локальных темных/светлых точек, выравнивание яркости/интенсивности (локальное по местоположению, а не по темным/средним/светлым областям)

Так что мой вопрос: как бы я создать "яркости карту" изображения, как это:

lena spotted

Так я получаю карту, как это:

lena luminance

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

lena lekker

Я понимаю, что у меня будут ошибки дискретизации в исправленных точках, но это намного лучше, чем темные пятна. Надеюсь, кто-то может мне помочь, спасибо!

Я в основном использую Matlab и имею некоторые ограниченные знания python и mathematica, но пример Matlab был бы мне очень полезен. Один из способов, который я думал о себе, заключался в fft2 и обнулении низких частот, но это просто уничтожило бы весь контраст, а не только те части, которые я хочу.

Похожие, но разные SO вопросы, которые не помогли мне:

Image equalisation

thresholding an image based on gradient

Histogram of image

Matlab - Local Histogram Equalization

How to find out light, medium and dark color?

+0

Я нашел аналогичный вопрос с очень хорошими ответами здесь: http://stackoverflow.com/questions/17914074/remove-gradient-of-a-image-without-a-comparison-image – Leo

ответ

1

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

Наличие прямых элементов на фотографии помогает и может служить источником образцов для расчета природы темного пятна. Если вы обрабатываете темное пятно как квадратичную или кубическую функцию в трех измерениях (X, Y, яркость), вы можете решить ее на основе определенного количества известных точек.

+0

Хорошо позволяет начать с линейных и точно круговой или прямой градиент, который уже улучшил бы мой образ. Существуют arent прямые линии, но непрерывные структуры, которые должны иметь примерно такую ​​же интенсивность внутри и снаружи пятен. – Leo

+1

ОК, так что представьте, что ваша фотография - карта высот 3d. в этом изображении линейный круговой градиент представляет собой конус, а линейный прямой градиент - постоянный наклон.выберете некоторые согласованные функции изображения и отметьте, как они меняются в местах. разница в том, где эти метки (ниже в трехмерном пространстве, чем они должны быть, если темно-низкий), и где они должны быть, будут предоставлять точки выборки на поверхности конуса или наклона, которые вы пытаетесь вычислить. Наклон (плоскость) может быть рассчитан с тремя точками на его поверхности. Я думаю, что конус занимает четыре, но я мог бы забыть. – Sparr

+0

А теперь я понимаю, почему так важна точная модель моих темных пятен. Спасибо, это полезный ответ. Если не найдутся лучшие ответы, я приму это. – Leo