Hur slår man samman programmering och fotografering? Kan jag skapa foton, bilder, effekter eller filter med hjälp av ett programmeringsspråk

Ja definitivt. Till exempel har jag skapat ett program som tar ett foto X och några bilder av tärningar och återskapar X som en mosaik av tärningar. Här är resultatet:

Detta görs i C ++ med mitt eget bibliotek, baserat på SDL och libgd i tur och ordning. Mitt bibliotek kan vara lite svårt att använda, men jag har hört bra saker om CIMG (C ++ mall för bildbearbetning).

När du väl har hittat ett bra bibliotek som kan mata in / mata ut bilder har du i princip X gånger Y gånger 3 arrayer med 8-bitars heltal och du måste manipulera dem. Vissa saker är relativt enkla, vissa saker är mycket svårare än du förväntar dig. Till exempel kan människor lätt berätta var objektens gränser är, men gränsdetekteringsalgoritmer för datorer är svåra att implementera (annars kan de t.ex. upptäcka en skugga som en del av bilden, eller inte upptäcka en del som har en färg som liknar bakgrund) - så massor av manuell hjälp var nödvändig för att ange gränsen för varje form på bilden. Mosaiken skapas genom att upprepade gånger försöka placera ett slumpmässigt munstycke i ett slumpmässigt läge (eventuellt med slumpmässigt justerade färger), beräkna det genomsnittliga kvadratiska avståndet från originalet i den erhållna bilden och acceptera munstycket om en förbättring hittas - jag skulle säga att resultaten är förvånansvärt bra för en så enkel algoritm. Ha så kul!

Lämna en kommentar