2016-10-13 6 views
1

Например, я пытаюсь найти сходство между двумя изображениями, используя skimage - SSIM. Блок кода будет выглядеть следующим образомКакие шаги предварительной обработки должны выполняться перед сравнением изображений?

from skimage.measure import compare_ssim as ssim 
from skimage import io 
from skimage.transform import resize 

a = io.imread("http://ecx.images-amazon.com/images/I/51PV4Dd8wAL._AC_UL246_SR190,246_.jpg",as_grey=False,dtype="float64") 
b = io.imread("http://ecx.images-amazon.com/images/I/914ZHE6JolL._UY500_.jpg",as_grey=False,dtype="float64") 

a = resize(a,b.shape) 
ssim(a, b,multichannel=True) 

Я получил оценку подобия следующим

0.21009350738786017 

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

Спасибо заранее!

ответ

0

Простое изменение размера изображения для увеличения/уменьшения изображения в соответствии с другим изображением всегда будет иметь структурную разницу. Когда вы уменьшаете изображение, некоторые значения агрегируются (думайте о пикселизации). Когда вы увеличиваете масштаб, значения снова изменяются. Следовательно, в обоих случаях происходит потеря/агрегация информации по всем каналам.

Это всегда будет иметь структурную разницу. Ssim предпочтительно используется для изображений с одинаковым размером (не изменен)

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