tzag_dk
(15.475 point. Point ude: 30)
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.
På forhånd tak :o)
// Rene
Skrevet man. d. 27. september 2004 kl. 20:18:39| #1
Ja man kan.
Men det er meget svært.
Opgiv alt om at kode det selv fra bunden af og søg efter et bibliotek eller
en komponent som kan.
Skrevet man. d. 27. september 2004 kl. 20:18:54| #2
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.
Skrevet man. d. 27. september 2004 kl. 20:30:19| #3
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?
Skrevet man. d. 27. september 2004 kl. 20:37:44| #4
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 :)
Skrevet man. d. 27. september 2004 kl. 20:45:37| #5
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?
Skrevet man. d. 27. september 2004 kl. 20:54:23| #6
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å.
Skrevet man. d. 27. september 2004 kl. 21:00:10| #7
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)
Skrevet man. d. 27. september 2004 kl. 21:08:15| #8
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.
Skrevet man. d. 27. september 2004 kl. 21:11:08| #9
Der skal nok være en komponent til ASP som kan udregne MD5. Det er bare a finde den.
Jeg vil varmt anbefale at gemme MD5'erne på de eksisterende filer så man ikke
skal beregne MD5 for dem alle hver gang et nyt billede skal lægges ind.
Skrevet man. d. 27. september 2004 kl. 21:12:39| #10
Skrevet man. d. 27. september 2004 kl. 21:13:53| #11
Skrevet man. d. 27. september 2004 kl. 21:14:59| #12
Skrevet man. d. 27. september 2004 kl. 21:15:53| #13
tangveje >> Det ligner noget som jeg kan bruge.
arne_v >> Kan godt se at det er smart at gemme MD5'erne, men hvordan gør man det?
Og hvordan funkgere MD5?
Skrevet man. d. 27. september 2004 kl. 21:19:43| #14
MD5 er groft sagt en tværsum af nogle binære data. En tværsum som det er svær
at fuske med.
Skrevet man. d. 27. september 2004 kl. 21:20:21| #15
Du gemmer f.eks. MD5 værdierne i databasen.
Skrevet man. d. 27. september 2004 kl. 21:24:25| #16
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.
Skrevet man. d. 27. september 2004 kl. 21:30:59| #17
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)
Skrevet man. d. 27. september 2004 kl. 21:33:09| #18
Skrevet man. d. 27. september 2004 kl. 21:34:22| #19