Ben benzerlik için görüntüleri karşılaştırmak için PHP hızlı ve basit bir algoritma geliştirdik.
Karma ve bir unoptimised arama algoritması başkalarına karşı her birini karşılaştırarak 22 dakika içinde 3.000 görüntüleri üzerinden gidebilirsiniz (~ saniyede 40 800x600 görüntü için), hızlı (3/sec).
Temel bakış, bir görüntü elde 8x8 için rescale ve sonra HSV için bu pikselleri dönüştürmek. Ton, Doygunluk ve Değer sonra 4 bit kesiliyor ve büyük bir onaltılık dize hale gelir.
Görüntüleri karşılaştırarak temelde iki dizeleri boyunca yürür, ve sonra bulduğu farklılıkları ekler. Toplam sayısı 64 daha sonra aynı görüntü altında ise. Farklı görüntüler genellikle yaklaşık 600 vardır -. 800 20 altında ve son derece benzer.
Are there any improvements upon this model I can use? I havent looked at how relevant the different components (hue, saturation and value) are to the comparison. Hue is probably quite important but the others?
Aramalarını hızlandırmak için muhtemelen yarısında her bölümü gelen 4 bit bölmek ve onay başarısız olursa o zaman lsb tüm kontrol edilmesi gerekmez yüzden ilk en önemli bit koyabilirsiniz. Ben böyle bit depolamak için verimli bir yol ama yine de onları aradı ve kolayca karşılaştırılabilir izin bilmiyorum.
Ben 3,000 fotoğrafları bir veri seti kullanarak oldum (çoğunlukla benzersiz) ve herhangi bir yanlış pozitif olmuştur sığınak. Onun boyutlandırır ve parlaklık ve kontrast değişikliklerine oldukça dayanıklı tamamen bağışık.