1. Tedd a téglalap alakú céltárgyat egy teljesen más, egyenletes színű felületre.
2. Fényképezd le.
- Látsszon egy kevés a háttérfelületből minden oldalon.
- Ha nem nagyon sötét a scannelendő dolog, jobb sötétebb, mint világosabb felületre rakni, mert kevésbé befolyásolják az árnyékok.
3. Futtasd a shotscan-t, hogy megkapd a lefényképezett lapot, kivágva, a megfelelő projektív transzformációval téglalapra visszaalakítva. (Jó esetben; ha nem elég egyenletes a háttér, vagy nem tér tőle el eléggé a célpont a sarkainál, akkor sajnos szemetet kapsz.)
Első paramétere a gépnek az átlónál mért látószög szerint 35 mm-es filmmel ekvivalens fókusztávolsága mm-ben - pontosan vagy nagyjából az, amit reklámozni szoktak. Utána jön(nek) a fájlnev(ek). Az eredményt ugyanabba a fájlba írja vissza, úgyhogy másolaton érdemes használni, ha hiba esetén nem tudsz/akarsz új képet csinálni.
Szerk.: --interpolate: jobb kimenet (nem lesznek lépcsősek a vonalak), de lassú.
Az egyszerű paraméterezés miatt akár hozzá is lehet rendelni a jpg/png fájlokhoz, és helyi menüből használni.
Forráskód, lefordítás:
g++ -o shotscan -lgd shotscan.cpp
(libgd kell neki).
- gd blogja
- A hozzászóláshoz be kell jelentkezni
- 1433 megtekintés
Hozzászólások
Jól olvasható, szépen kommentelt forráskód, hasznos alkalmazás.
Gratulálok, szép munka.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
+1.
- A hozzászóláshoz be kell jelentkezni
Köszönöm. Szerintem általában nem nagyon szokásom szép forrást produkálni. :)
- A hozzászóláshoz be kell jelentkezni
Valóban hasznos, de a forráskódban pár helyen be lehetett volna néhány sortörést szúrni (aspect_ratio = ...).
Ha egy képnek vagy egy részének a háttérszínét akarod meghatározni, akkor célszerű medián átlagolást használni az egyszerű számtani átlag helyett. Ha pl. fényes pöttyök vannak a képen, azok az átlagot elhúzzák, de a mediánt nem.
(Ennél az alkalmazásnál mondjuk kevéssé számít.)
- A hozzászóláshoz be kell jelentkezni
"sortörést szúrni (aspect_ratio = ...)"
Az így is-úgy is olvashatatlan, Maxima-ból másoltam be.
Az öteletet köszönöm. Itt valóban nem ilyen problémák szoktak előjönni. Hanem pl. belóg egy árnyék a világos háttérbe, és azt előtérnek hiszi. (A kompakt fényképezőm objektívje hajlamos kitakarni a vakut, ha közelre fényképezek, ezért jobb sötét háttérrel.) Vagy az előtér csak a színében különbözik a háttértől, és ezt kisebb különbségnek veszi, mint a sötét-világos különbségeket. Ezeket szerintem csak sokkal bonyolultabb algoritmussal lehetne kiküszöbölni.
- A hozzászóláshoz be kell jelentkezni
Köszi, ez jó dolog, terjeszteni fogom!
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
Szerintetek képet reprezentáló tömböt milyen sorrendben szokás indexelni?
Matematikából ugye az x,y (vízszintes, majd függőleges koordináta) sorrend a megszokott, és a libgd is így kéri, de ha táblázatnak tekintjük, akkor a sor, oszlop (függőleges, majd vízszintes) a szokásos, és ha jól gondolom, a fájlokban is általában így tárolják.
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
+1
"A +1 az a proletárlájk."
- A hozzászóláshoz be kell jelentkezni
probalgatom a progit, 1536x2048 -as felbontásból csinált 367x11256 -os felbontasut :) kiprobalom masik hatterrel is
úgy sem jó, elvileg ezt adtam be neki shotscan 400 akarmi.jpg
nem, sehogy sem jó neki, tudna linkelni valaki egy peldakepet, amivel mukodik, es egy pelda parancssort is
- A hozzászóláshoz be kell jelentkezni
A 400 mm-es fokusztavolsag valoszinutlen, 28-35 mm korul szokott lenni a kisfilmesre atszamolt ertek.
- A hozzászóláshoz be kell jelentkezni
telóval készítettem a képeket, lehet ez nem tetszik neki? nem értem 28, 30, 35-el is próbáltam, valakinek hozott már használható eredményt?
- A hozzászóláshoz be kell jelentkezni
EXIF-ből nem olvasható ki?
--
Don't be an Ubuntard!
- A hozzászóláshoz be kell jelentkezni
Kicsit rossz fókusztávolág beállítás miatt csak kicsit elnyújtott/összelapított lehet a kép, ha durvábban rossz, akkor nem tudta felismerni a dolgot. Sajnos ez elég gyakran előfordul, próbáld egyenletesebb, sötét háttéren. Esetleg küldd át a képet, hogy megnézzem, mi a gond.
- A hozzászóláshoz be kell jelentkezni
shotscan 37 example.jpg
- A hozzászóláshoz be kell jelentkezni
Esetleg a nevedben a csaladnev legyen csupa naggyal, ha mar a magyar nevsorrendet hasznalod.
- A hozzászóláshoz be kell jelentkezni
Átírtam, és írtam bele e-mail címet.
- A hozzászóláshoz be kell jelentkezni
subscribe
- A hozzászóláshoz be kell jelentkezni
mi tú
- A hozzászóláshoz be kell jelentkezni
1. milyen géped van?
2. javasolt legkisebb felbontás (NNN x NNN pixel)?
- A hozzászóláshoz be kell jelentkezni
Portré fotónál, ha utólag vékony fekete keretet kap a kép, akkor nem kell "135"-ös tele, és nem lesz duda orrod :-)
Azért vékony keretet, hogy ne kelljen korrigálni az ekvivalens fókusztávolságot.
Ha bejelöljük egy képen azt a területet ami szerintünk a perspektíva nélkül téglalap volt, és az ezen kívüli részt feketére festjük, akkor kvázi "Linhof Cardan Color" (persze nem 500 Mpx)
- A hozzászóláshoz be kell jelentkezni
Kapott egy --interpolate opciót, amitől lineáris interpolációt csinál, kicsit szebb lesz a kép (nem lépcsősek a vonalak), cserébe sokkal lassabb.
És variáltam egy kicsit a konstansokkal, talán egy kicsit kevesebbszer hibázik így.
- A hozzászóláshoz be kell jelentkezni