27. september 2004 - 19:58Der er
17 kommentarer og 2 løsninger
Kan man det her?
Hej
Er det muligt at sammenligne billeder? Dvs. at hvis jeg har et nyt billede og gerne vil finde ud af om der er andre billeder i en mappe som der evt. ligner det nye billede, kan man det?
Håber at I ved hvad jeg mener. Det behøves ikke at være i asp. Hvis det kan, vil noget kode være super.
Du kan nemt se om to billeder er fuldstændigt identiske... find md5 summen af begge filer og sammenlign, er de to md5 værdier ens, er billederne det også.
Vil du derimod se om de ligner hinanden, uden at være helt ens, tror jeg det er bedre at glemme ideen helt. Det er da nok muligt med noget smart kode til at sammenligne pixels, men det ville helt sikkert være en meget tung opgave, specielt for et script sprog som ASP. Skulle det gøres, ville et compilet sprog som C/C++ være det rette valg.
Selv md5 metoden ville være temmelig tung, hvis brugt på mange forskellig filer, specielt hvis disse billeder er forholdsvist store.
arne_v >> Jeg har forsøgt at finde et komponent, men uden held.
tangveje >> Jeg vil gerne se om de ligner hinanden, billederne er max 100kb store. Jeg har min egen server, kan man så måske lave en form for en applikation som der kan køre på web?
Man kan programmere sine egne komponenter til ASP, men for det første aner jeg ikke hvordan, for det andet vil jeg mene at arne har ret. Hvis ikke du kan finde en færdiglavet komponent, er det bedst at opgive ideen.
Hvis din ide var forholdsvist nem at føre ud i livet, tror jeg man ville kunne finde adskillige komponenter rundt om på nettet. Tror egentlig også man ville se endnu mere avancerede ting, som kunstig intelligens til identificering af objekter på et billede (en computer der kan genkende ansigter). Den slags har jeg endnu ikke set, hvilket siger mig at ideen er temmelig kompliceret, og bedst overladt til langhårede professorer som ikke har noget imod at bruge 20 år på det :)
okay, det kan jeg godt se :-( Men hvis man "bare" skal lave så at systemet skal se om billedet findes i forvejen, hvordan kan man lave det? Har I noget kode til det?
Alså om de to er identiske... som sagt er md5 løsningen på det. Jeg har ikke den ringeste anelse om hvordan det gøres is ASP... men jeg ved det kan gøres. Prøv at søg på google.
Måske det ville være klogest at skrive selve koden til det som et stand-alone program. Altså holde det adskilt fra selve webserveren, så den ikke belastes unødigt. Igen, jeg ved ikke hvordan det gøres helt konkret, men det er de ideer jeg kan komme på.
ok, men som jeg skrev i spm´et, så gør det ikke noget hvis det ikke er asp. Hvilken kode kan du evt lave det i? For som jeg læser det, ved du hvordan det laves men bare ikke i asp :o)
Tja, jeg kan give et eksempel i PHP, men jeg vil næsten garantere dig det ikke har nogen relevans i forhold til ASP... men anyway
if ( md5_file("billede1.jpg") == md5_file("billede2.jpg") ) { // Identiske } else { // Ikke identiske }
Ganske simpelt (hvis der kun er tale om sammeligning af 2 filer), men jeg mener ikke ASP har en decideret md5 funktion, så det er vist ikke sådan lige at konvertere min kode.
MD5 fungerer ved at omdanne en streng, eller en fil, til en krypteret kode (32 tegn). Det bruges typisk til at sikre kodeord, men også i stor stil til at sikre at en fil du downloader er hvad du forventer (f.eks. ikke er blevet inficeret med en virus eller blevet korrupt under download). Dette skyldes at MD5 ikke kan "dekrypteres", og altid giver den samme kode for to identiske input (filer).
Some arne siger, gem værdierne i en database, som almindelig tekst.
Jeg er blevet en del klogere nu :o) Og tror at jeg har fundet en løsning på det via MD5. Tak for hjælpem begge to. Læg et svar, så I kan få nogle point :o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.