Итак, у меня есть изображение с темными пятнами, и они выглядят довольно просто, поэтому я думаю, что я может сделать карту яркости, инвертировать ее, а затем применить ее к моему изображению, чтобы отменить темные пятна. Однако все, что я могу найти, это два метода выравнивания: выравнивание всего изображения (с гистограммой) или сегментация изображения в темных медных и легких частях и выравнивание, которое вы хотите. Первый подход не помогает моей проблеме, и второй подход также делает темные объекты в изображении более легкими. Я уверен, что есть простой способ сделать это (давно я видел, как кто-то это делал в презентации), хотя я еще не смог его найти или придумать.Правильное изображение для локальных темных/светлых точек, выравнивание яркости/интенсивности (локальное по местоположению, а не по темным/средним/светлым областям)
Так что мой вопрос: как бы я создать "яркости карту" изображения, как это:
Так я получаю карту, как это:
Какие Я могу применить обратное, чтобы получить лучшее изображение следующим образом:
Я понимаю, что у меня будут ошибки дискретизации в исправленных точках, но это намного лучше, чем темные пятна. Надеюсь, кто-то может мне помочь, спасибо!
Я в основном использую Matlab и имею некоторые ограниченные знания python и mathematica, но пример Matlab был бы мне очень полезен. Один из способов, который я думал о себе, заключался в fft2 и обнулении низких частот, но это просто уничтожило бы весь контраст, а не только те части, которые я хочу.
Похожие, но разные SO вопросы, которые не помогли мне:
thresholding an image based on gradient
Matlab - Local Histogram Equalization
How to find out light, medium and dark color?
Я нашел аналогичный вопрос с очень хорошими ответами здесь: http://stackoverflow.com/questions/17914074/remove-gradient-of-a-image-without-a-comparison-image – Leo