2016-10-13 5 views
1

Zum Beispiel versuche ich die Ähnlichkeit zwischen zwei Bildern mit skimage - SSIM zu finden. Der Code-Block wird alsWelche Vorverarbeitungsschritte sind vor dem Bildvergleich durchzuführen?

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) 

folgt ich die Ähnlichkeitsbewertung bekam als

0.21009350738786017 

folgt beide Obwohl die Bilder gleich sind, wo man Bilder in leicht orientiert, ich bin sehr sehr niedrige Werte für diese bekommen Vergleiche. Fehle ich hier irgendwelche Vorverarbeitungsschritte, bevor ich Compare-Bilder berechne. Wenn ja, welche Dinge sollte ich beachten, bevor ich Bilder vergleiche?

Vielen Dank im Voraus !!

Antwort

0

Wenn das Bild verkleinert wird, um das Bild zu vergrößern oder zu verkleinern, ergibt sich immer ein struktureller Unterschied. Wenn Sie ein Bild verkleinern, werden einige Werte aggregiert (Think-Pixelierung). Während Sie hineinzoomen, werden die Werte erneut geändert. Daher gibt es in beiden Fällen einen Verlust/eine Aggregation von Informationen in allen Kanälen.

Dies wird immer einen strukturellen Unterschied ergeben. Ssim wird vorzugsweise für ursprünglich gleich große Bilder verwendet (nicht in der Größe)

Verwandte Themen