Каковы подходящие метрики для улучшения изображения? - PullRequest
0 голосов
/ 11 июня 2019

Я новичок в обработке изображений. Недавно я работал с методами контрастного усиления, такими как CLAHE и другими. Но я не знаю, как оценить качество контрастных изображений. После поиска в сети я обнаружил, что можно использовать такие метрики, как PSNR (отношение пикового сигнала к шуму) и SSIM (индекс структурной симметричности). Но я не могу понять, что на самом деле делает метрика PSNR.

Формула в Википедии:

PSNR = 20log (MAX) - 10log (MSE)

, где основание журнала равно 10, а MAX - максимальное значение пикселя (для изображений RGB), а MSE - средняя квадратическая ошибка.

Теперь мой вопрос заключается в том, что согласно этому определению PSNR является максимальным, когда MSE равно нулю. Это означает, что для того, чтобы иметь максимальное PSNR, MSE должно быть равно нулю, и это может произойти только тогда, когда оба изображения одинаковы. И какой смысл в том, чтобы контрастное изображение было таким же, как исходное изображение?

import math 
def psnr1(img1, img2): 

    mse = np.mean( (img1 - img2) ** 2 ) 

    if mse == 0: 

       return 100 

   PIXEL_MAX = 255.0

   return 10 * math.log10((PIXEL_MAX)**2 /(mse))

Это код, который я использовал для расчета метрики PSNR. Теперь это возвращает максимальное значение PSNR, когда MSE равно нулю, что возможно только в том случае, если изображение с улучшенной контрастностью такое же, как и раньше.

Есть ли что-то, чего мне не хватает? Может ли кто-нибудь, пожалуйста, помогите. Заранее спасибо.

...