====== Vzdálenost dvou obrázků ====== Pokud [[.:image|obrázky reprezentujeme jako číselné vektory]], jedná se vlastně o vzdálenost dvou vektorů (což už nezní tak divně). S využitím funkcí z ''numpy'' lze (Euklidovskou) vzdálenost spočítat např. následujícími dvěma způsoby (viz ''d1'' a ''d2''): from PIL import Image import numpy as np im1 = np.array(Image.open('train_data/img_1112.png')).astype(int).flatten() im2 = np.array(Image.open('train_data/img_1113.png')).astype(int).flatten() diff = im1 - im2 d1 = np.sqrt(np.sum(np.square(diff))) d2 = np.linalg.norm(diff) Oba by měly dát stejný výsledek. Naše obrázky jsou šedotónové s odstíny šedi od 0 do 255 (datový typ ''numpy.uint8''). Pokud bychom je načetli s jejich přirozeným datovým typem ''uint8'', při počítání rozdílu ''im1 - im2'' by mohlo dojít k podtečení, a naopak při umocnění rozdílu na druhou by mohlo dojít k přetečení. Proto raději hned po načtení odstíny šedi reprezentujeme jako obecný datový typ ''int'' (část ''.astype(int)'' je při načítání obrázku důležitá).