NCC и SSIM, вероятно, являются лучшими для использования при различном освещении, что может вызвать яркость / контрастность.Другие метрики не делают никакой нормализации яркости / контраста
SSIM дает мне 0,763003 для солнечного и дождливого и 0,236967 для солнечного и другого.Это коэффициент разделения 3,22.NCC дает мне 0,831495 и 0,220601 соответственно.Это коэффициент разделения 3,77.Так немного лучше.См. Ответ Марка Сетчелла о командах для них.
Еще одним способом было бы сначала обнаружить края на выровненном изображении в оттенках серого.Это смягчает против изменения яркости / контрастности и даже смещения цвета.
Вот этот подход с использованием 8-направленного оператора Собеля в Imagemagick.
convert bright.png -colorspace gray -equalize \
-define convolve:scale='!' \
-define morphology:compose=Lighten \
-morphology Convolve 'Sobel:>' bright_sobel.png
![enter image description here](https://i.stack.imgur.com/fNglJ.png)
convert dull.png -colorspace gray -equalize \
-define convolve:scale='!' \
-define morphology:compose=Lighten \
-morphology Convolve 'Sobel:>' dull_sobel.png
![enter image description here](https://i.stack.imgur.com/SVhWm.png)
convert other.png -colorspace gray -equalize \
-define convolve:scale='!' \
-define morphology:compose=Lighten \
-morphology Convolve 'Sobel:>' other_sobel.png
compare -metric ncc bright_sobel.png dull_sobel.png null:
0.688626
compare -metric ncc bright_sobel.png other_sobel.png null:
0.0756445
Это коэффициент разделения 9,1.Так что немного лучше.
С обнаружением фронта вы, вероятно, можете использовать другие метрики, поскольку нормализация уже была выполнена с помощью операций выравнивания и оттенков серого.Но NCC все еще может быть лучшим здесь.
См. https://imagemagick.org/Usage/convolve/#sobel
ДОПОЛНЕНИЕ:
Если добавить эквалайзер к исходным изображениям, тогда получаются неконцевые результаты NCCлучше, чем в начале этого поста:
convert bright.png -equalize bright_eq.png
convert dull.png -equalize dull_eq.png
convert other.png -equalize other_eq.png
compare -metric NCC bright_eq.png dull_eq.png null:
0.861087
compare -metric NCC bright_eq.png other_eq.png null:
0.204296
Это дает коэффициент разделения 4,21, что немного лучше, чем 3,77 выше безуравнение.
ADDITION2:
Вот еще один способ, использующий мой скрипт redist, который пытается изменить статистику изображения на конкретное среднее значение и стандартное отклонение.(см. http://www.fmwconcepts.com/imagemagick/index.php)
. Я применяю его ко всем изображениям с одинаковыми аргументами для нормализации к одному и тому же среднему значению и стандартному стандартному стандарту, а затем выполняю извлечение резкого фронта перед выполнением сравнения. Redist аналогичен выравниванию, но используетраспределение Гаусса, а не плоское или постоянное. Альтернативой перенаправлению будет эквалайзинг гистограммы локальной области (lahe) или адаптивная коррекция гистограммы с ограничением контраста (clahe).в приведенных ниже командах нормализуются (в диапазоне от 0 до номинально 100%) и представляют среднее значение, смещение в одну сигму на левой стороне пика, смещение в одну сигму на правой стороне пика, где сигма подобнастандартное отклонение.
redist 50,50,50 bright.png bright_rdist.png
![enter image description here](https://i.stack.imgur.com/185Tt.png)
redist 50,50,50 dull.png dull_rdist.png
![enter image description here](https://i.stack.imgur.com/xZD5Z.png)
redist 50,50,50 other.png other_rdist.png
![enter image description here](https://i.stack.imgur.com/5npSN.png)
convert bright_rdist.png -canny 0x1+10%+30% bright_rdist_canny.png
![enter image description here](https://i.stack.imgur.com/JsCQB.png)
convert dull_rdist.png -canny 0x1+10%+30% dull_rdist_canny.png
![enter image description here](https://i.stack.imgur.com/Mq5TU.png)
convert other_rdist.png -canny 0x1+10%+30% other_rdist_canny.png
![enter image description here](https://i.stack.imgur.com/ZttxW.png)
сравнить -метрический ncc bright_rdist_canny.png dull_rdist_canny.png null: 0,345919
compare -metric ncc bright_rdist_canny.png other_rdist_canny.png null:
0.0323863
Это дает коэффициент разделения 10,68