Signature maken van file in PHP.
Wat ik me afvroeg:
Het is in PHP mogelijk om met md5_file een hash te maken van een file. Nu zou dat ook met plaatjes kunnen lijkt me. Maar nu is het zo dat als iemand maar 1 px veranderd dat de hash totaal anders is.
Hoe zou je in PHP eigenlijk een plaatje kunnen herkennen ongeacht of het geresized is? Ik weet dat het niet zo simpel zou zijn, maar zou den jullie zoiets aanpakken?
Ik was gewoon even nieuwsgierig.
Het is in PHP mogelijk om met md5_file een hash te maken van een file. Nu zou dat ook met plaatjes kunnen lijkt me. Maar nu is het zo dat als iemand maar 1 px veranderd dat de hash totaal anders is.
Hoe zou je in PHP eigenlijk een plaatje kunnen herkennen ongeacht of het geresized is? Ik weet dat het niet zo simpel zou zijn, maar zou den jullie zoiets aanpakken?
Ik was gewoon even nieuwsgierig.
Gewijzigd op 26/02/2012 11:39:40 door - Ariën -
PHP hulp
24/11/2024 08:14:18Eddy E
26/02/2012 11:49:14Plaatje altijd verkleinen naar een kleine afbeelding (16x16px) bijvoorbeeld. En daarvan de md5-hash nemen?
Dus 1600x1200 of 800x600 verkleinen naar 16x16 (croppen inderdaad) en daarvan de md5-hash maken. Als die hetzelfde zijn, is de afbeelding (hoogst waarschijnlijk) ook hetzelfde.
Kan een minimaal verschil in zitten met compressie etc, maar doordat je het zo verkleind zal dat wel meevallen.
Eventueel naar 256-kleuren converteren (GIF?) zodat je geen kleurnuances krijgt.
Mocht 16x16 te klein zijn gebruik je 32x32 of een andere waarde.
't Is maar een idee.
Dus 1600x1200 of 800x600 verkleinen naar 16x16 (croppen inderdaad) en daarvan de md5-hash maken. Als die hetzelfde zijn, is de afbeelding (hoogst waarschijnlijk) ook hetzelfde.
Kan een minimaal verschil in zitten met compressie etc, maar doordat je het zo verkleind zal dat wel meevallen.
Eventueel naar 256-kleuren converteren (GIF?) zodat je geen kleurnuances krijgt.
Mocht 16x16 te klein zijn gebruik je 32x32 of een andere waarde.
't Is maar een idee.
Jens erd
26/02/2012 12:02:50Even googelen levert dit op: Compareimages. Ik denk toch dat dit ongeveer is wat je bedoeld?