Szukam algorytmu (albo jakiegoś pomysłu) jak wykonać porównywanie obrazków. O co chodzi? za pomocą funkcji glob, z dwóch rożnych katalogów, wczytuje 2 różne zestawy zdjęć do tablicy np. zdjecia1 i zdjecia2. No i teraz chce wybrać po jednym zdjęciu z tych tablic, które mają jak najbardziej podobne rozmiary. Przedstawiam mój dotychczasowy algorytm, jakoś działa, ale pewnie nie jest to najbardziej dokładne/najszybsze rozwiązanie. Dodatkowo w algorytmie interesują mnie tylko zdjęcia pionowe, czyli te co ich wysokość jest większa od szerokości.
$a_zdjecia1=glob("images/galerie1/*.jpg");
$a_zdjecia2=glob("images/galerie2/*.jpg");
$temp_size=1000; //jakas tymczasowa zmienna
//smigamy po zdjeciach z 1 tablicy
foreach($a_zdjecia1 as $v_zdjecie1)
{
$a_wymiary1=getimagesize($v_zdjecie1);
//sprawdzamy czy nie jest poziome
if($a_wymiary1[1]>$a_wymiary1[0])
{
//smigamy po zdjeciach z drugiej tablicy
foreach($a_zdjecia2 as $v_zdjecie2)
{
$a_wymiary2=getimagesize($v_zdjecie2);
//sprawdzamy czy nie jest poziome
if($a_wymiary2[1]>$a_wymiary2[0])
{
$roznica_wysokosci=abs($a_wymiary1[1]-$a_wymiary2[1]);
$roznica_szerokosci=abs($a_wymiary1[0]-$a_wymiary2[0]);
$roznica_calkowita=$roznica_wysokosci+$roznica_szerokosci;
if($roznica_calkowita==0)
{
echo "hurra, zdjecia v_zdjecie1 i v_zdjecie2 maja identyczny rozmiar";
}
else
{
if($roznica_calkowita<$temp_size)
{
$temp_size=$roznica_calkowita;
$temp_foto1=$v_zdjecie1;
$temp_foto2=$v_zdjecie2;
}
}
}
}
}
}
echo "zdjecia $temp_foto1 i $temp_foto2 sa podobne do siebie";