Mattias763 Skrivet 15 Juni 2009 Rapport Dela Skrivet 15 Juni 2009 Finns det något program som kan kolla hur många procent två bilder matchar varann? Citera Länk till kommentar Dela på andra sajter More sharing options...
Mattias763 Skrivet 15 Juni 2009 Författare Rapport Dela Skrivet 15 Juni 2009 Ingen? Citera Länk till kommentar Dela på andra sajter More sharing options...
WASD Skrivet 15 Juni 2009 Rapport Dela Skrivet 15 Juni 2009 (redigerat) Chilla, det har gått 5 timmar. Om du vill ha det så snabbt som möjligt ska du använda google. Däremot kan det vara svårt att googla efter nåt sånt här, men det går. Redigerat 15 Juni 2009 av WASD Citera Länk till kommentar Dela på andra sajter More sharing options...
Desajn Skrivet 16 Juni 2009 Rapport Dela Skrivet 16 Juni 2009 Vet inte om du kan matcha i procent. Men med photoshop kan du lägga bilden över den andra bilden. Och dra en "difference" i lager, så ser du vad som är annorlunda. Citera Länk till kommentar Dela på andra sajter More sharing options...
Vitdom Skrivet 16 Juni 2009 Rapport Dela Skrivet 16 Juni 2009 Här får du ett program som gör det du vill, gjort av mig nyss: BMPMatch.zip Tyvärr fungerar den endast med Windows Bitmap filer av samma upplösning, men ett vanligt bildredigeringsprogram kan konvertera bilder till en sådan fil med önskad upplösning. Kom ihåg att läsa ReadMe.txt filen då den innehåller mer information om programmet. Bilder: http://img269.imageshack.us/img269/5821/bmpmatch1.jpg http://img199.imageshack.us/img199/3260/bmpmatch2.jpg http://img197.imageshack.us/img197/3839/bmpmatch3.jpg Citera Länk till kommentar Dela på andra sajter More sharing options...
Desajn Skrivet 17 Juni 2009 Rapport Dela Skrivet 17 Juni 2009 (redigerat) Btw, är det du som kodat programmet eller har du använt dig utan en annan sås? Kollar du hur många pixlar som det skiljer eller storleken på filen? Riktig heta cmos färger :P Verkar dock inte vara så svårt att göra det i #c http://www.araxis.com/merge/topic_comparing_image_files.html http://www.imagemagick.org/script/command-line-tools.php Redigerat 17 Juni 2009 av Desajn Citera Länk till kommentar Dela på andra sajter More sharing options...
Vitdom Skrivet 17 Juni 2009 Rapport Dela Skrivet 17 Juni 2009 (redigerat) Jag har kodat hela programmet i C++ med Windows och standardfunktioner. Du vill inte se källkoden, den är 309 rader lång p.g.a. Text User Interface användargränssnittet. Sen har jag använt mig utav SDL för att kunna läsa bitmappar, jag letade överallt efter ett lätt bra sätt i Win32 API:t och på internet men jag hittade inget så jag använde mig utav SDL, vilket är ett ganska fult sätt men jag hittade inget annat. Då han ville veta hur stor skillnaden var på bilden och inte på filen(det finns faktiskt en stor skillnad, t.ex. en 8-bit bitmapsfil skiljer sig ifrån en 24-bit bitmapsfil, men bilderna kan vara likadana) så kollar jag bara värdena på pixlarna på bilden. Eftersom att bilderna blir jämförda pixel för pixel så måste bilderna ha lika stor upplösning för annars så blir resultatet fel. Men jag jämför inte bara typ "if(ärPixelsLika(bitmap1, bitmap2, x, y))", utan jag gör så att jag tar skillnaden i pixlarna. T.ex. har jag två olika pixels(0xRRGGBB), 0xFFFFFF och 0xFFC48D så blir skillnaden 0x003B72 alltså 59 av 255 på grönt och 114 av 255 på blått. Maximal skillnad på alla värden är då 3 * 255 vilket blir 765; för att få procentskillnaden på just den pixeln tar man då 100 * (59 + 114) / 765. Sen fortsätter den så igenom alla pixlar och lägger ihop alla procent och dividerar det med antalet pixlar för att få skillnaden i procent för hela bilden. Detta medför att om jag har två identiska bilder bara att den ena har en liten reducering på ljusstyrkan på alla pixlarna så ger inte programmet en 0% match utan typ >75% match beroende på hur stor reducering av ljusstyrkan. (OBS! Detta sätt är inte det sättet som programmet arbetar på men det är samma princip, programmets beräkningar är optimerade för att räkna ut resultatet snabbare och precisare än vad ovanstående algoritm skulle göra.) Redigerat 17 Juni 2009 av Vitdom Citera Länk till kommentar Dela på andra sajter More sharing options...
Rekommendera inlägg
Gå med i konversationen
Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.