Reen al la hejmpaĝo de Dejv Koffin

Deĉifri krudajn ciferecajn fotojn en Linukso

in English
em Português
auf Deutsch
на русском

La vortprovizo de tiu ĉi paĝo sekvas laŭeble la Komputadan Leksikonon de Sergej Pokrovski.

Bonvenon! Se vi sindemandas kiel konekti ciferecan fotilon kaj deŝuti bildojn al Linuksa komputilo, iru al la hejmpaĝo de gPhoto. Mia softvaro traktas bildojn jam deŝutitajn.

Se vi fotas al JPEG-dosieroj, vi tute ne bezonas mian softvaron. La bildo estas jam traktita interne de la fotilo. Preskaŭ ĉiu cifereca fotilo fabrikita ekde 1997 skribas JPEG-on, do kial oni volus fari aliel?

Nu, spite la oportuneco kaj universaleco de JPEG, estas unuj malavantaĝoj. JPEG estas perda formato -- por ŝtopi grandan bildon en malgrandan dosieron, multe da informo forĵetiĝas. Tial mezrangaj kaj luksaj fotiloj proponas alternativon: Kruda, netraktita lumsensila datumo, por kiu la fotilo-fabrikisto provizas specialan deĉifran softvaron.

Kompreneble, tiu softvaro estas nur por Vindozo kaj Makintoŝo, sen fontkodo. Do ĝi senutilas al uzantoj de aliaj operaciumoj, al programistoj esperantaj projekti pli bonan interpolan algoritmon, kaj al historiistoj naskotaj en mondon kie Vindozaj komputiloj ekzistos nur en muzeoj.

Do jen mia misio: Verku kaj daŭrigu ANSI C programon kiu deĉifras iun ajn krudan bildon el iu ajn fotilo sur iu ajn komputilo rulanta iun ajn operaciumon.

Tiu programo nomiĝas dcraw (prononcu "do-co-raŭ"), kaj ĝi nun estas norma ilo en kaj ekster la mondo de Libera Softvaro. Ĝi estas mallonga (ĉirkaŭ 9000 liniojn), portebla (uzante nur normajn C bibliotekojn), libera, senpaga, kaj lerte uzata, ĝi donas pli bonan rezulton ol la iloj provizataj de la fotilo-fabrikisto.

Jen resumo de mia kariero. Mi faras sendependan konsiladon rilate al dcraw, kaj mi ankaŭ haveblas por plentempa softvara laboro en nordorienta Usono.

Mi atingeblas ĉe dcoffin heliko cybercom punkto net.

Mia Kodo

Se ne diriĝas aliel en la fontkodo, miaj programoj estas liberaj por ĉia uzado, kvankam mi ŝatas ricevi agnoskon. Donacoj ankaŭ bonvenas, se vi enspezas monon per mia kodo.

Noto al Linukso-distribuantoj: La solaj ruldosieroj instalataj el dcraw pakaĵo estu "dcraw", "clean_crw", kaj eble "fuji_green", "fujiturn", kaj "fujiturn16". Aliaj programetoj miaj estas danĝeraj, kaj instaliĝu nur en "dokumenta" dosierujo sen rulpermeso.

Nur por ekspertoj:

Internaciigo

Por instali dcraw-on kun apogo por neanglaj lingvoj, elŝutu la lastan arĥivon el tiu ĉi dosierujo kaj rulu la skripton "install". Aktuale apogataj lingvoj estas Esperanto kaj la rusa, franca, itala, germana, portugala, hispana, nederlanda, pola, hungara, ĉeĥa, sveda, kataluna, dana, kaj ĉina (kaj tradicia kaj simpligita).

Por aldoni alian lingvon, sendu al mi tradukojn de tiu ĉi manpaĝo kaj tiu ĉi mesaĝtabelo en kodo UTF-8. Traduku nur el miaj tekstoj anglaj kaj Esperantaj -- aliaj lingvoj povas kaŝi de mi faktajn erarojn.

Ne traduku "ne povas fari" al "ne eblas fari". Dcraw ne estas perfekta, do se ĝi ne povas fari ion, tio ne signifas, ke la tasko estas nefarebla. Komputiloj devas neniam uzi la pronomon "mi", do skribu "dcraw ne povas fari".

Se vi ne certas, traduku ĉion. Mi kontrolas tiujn ĉi tekstojn antaŭ ol eldoni ilin, kaj estas ege pli facile por mi korekti troan ol nesufiĉan tradukon.

Dcraw deĉifras krudajn fotojn, ne krudajn dosierojn. Neniu cifereca fotilo generas krudajn dosierojn dum normala uzado; ĉiam estas kapo kun utila pridatumo. (Por nenormala uzado, vidu sube CHDK kaj DIAG RAW)

Estas dekoj da formatoj por krudaj fotoj: CRW, CR2, MRW, NEF, RAF, ktp. "Formato RAW" ne ekzistas; ĝi estas iluzio kreita pro la kapablo de dcraw legi ĉiujn krudajn formatojn.

Aliaj deĉifriloj por krudaj fotoj

Danke al dcraw, estas ege pli facile por programistoj apogi vastan nombron da ciferecaj fotiloj en siaj aplikaĵoj. Ili povas voki dcraw-on el grafika interfaco, kopii pecojn de dcraw.c en sian kodon, aŭ nur uzi ĝin kiel la dokumentojn kiujn fotilo-fabrikistoj rifuzas provizi.

Oftaj Demandoj

Mi ne havas C tradukilon. Ĉu vi povas sendi al mi ruleblan dosieron?
Ne, sed Francisco Montilla provizas ruldosierojn por Makintoŝo kaj Vindozo ĉe sia retpaĝo. Aldone Manuel Llorens provizas kolekton de Vindozaj ruldosieroj

Se vi konas DOS-komandojn sed ne scias la lingvon C, vi povas instali la jenan liberan C-tradukilon por Vindozo kaj tradukigi dcraw.c sufiĉe facile.

Kial al dcraw "Mankas memoro" en Windows Vista?
Pretendante preventi memorlikojn, Microsoft decidis ke iu ajn programo ligita kun la malnova API MS-DOS estu limigita al 32 MB da memoro. Tiu ĉi limo forigeblas per ia kombinaĵo de servopakoj kaj registrejaj kodumoj, aŭ eblas ligi dcraw-on kun la pli nova API Win32. Thomas Nicely (fama pro la cimo Pentium FDIV) havas retpaĝon priskribanta la problemon.

Kiel mi povas legi EXIF-datumon (obturan rapidecon, aperturon, ktp.)?
ExifTool de Phil Harvey provizas unuecan EXIF-legilon (kaj redaktilon!) en Perl-lingvo por ĉiuj fotiloj kaj dosieraj formatoj. "dcraw -i -v" estas multe pli rapida, sed provizas malpli da informo.

Kiel legi NEF-dosierojn el Nikon-aj skaniloj?
Dcraw apogas nur fotilojn. Provu tiun ĉi simplan programon por skaniloj.

Kiel legi Nikon-ajn polvo-bildojn (NDF-dosierojn)?
Per tiu ĉi programo.

Ĉu vi havas dokumentojn kiuj priskribas krudajn formatojn?
Jes, sed ili emas ellasi gravajn detalojn, ekzemple kiel malkompaktigi la krudan bildon aŭ deĉifri privatan pridatumon. Jen la oficialaj specifoj koncerne TIFF, TIFF/EP, Adobe DNG, CIFF (CRW), kaj X3F.

Kie troveblas sortimento de krudaj fotoj por testi mian softvaron?
Provu raw.fotosite.pl, www.rawsamples.ch, kaj Glass Lantern RAWpository. Plena recenzo ("Full Review") ĉe Imaging Resource kutime inkluzivas kelkajn krudajn fotojn. Por la kompleta testbildaro (ĉiu fotilo apogata de dcraw), mi vendas triopon da DVD-oj por $700, kaj aktualigas ĝin interrete por $300 jare.

Mi projektas ciferecan fotilon. Kiel konverti ĝiajn fotojn al io, kion dcraw kaj Adobe Photoshop povos enŝargi?
Elŝutu LibTIFF v3.8.2 kaj apliku tiun ĉi flikon. Tiam uzu tiun ĉi C-programon kiel ŝablonon por konverti viajn fotojn al validaj dosieroj Adobe DNG.

Kial dcraw kreas bildojn pli grandaj ol fotilaj JPEG-oj?
Ia ajn algoritmo kiu kombinas ĉiun bilderon kun ties najbaroj nepre havos problemojn proksime al randoj. C-kodo kostas malmulte, do dcraw aplikas apartan algoritmon al randaj bilderoj. Aparata logiko kostas multe, do fotiloj detranĉas randajn bilderojn post traktado.

Mi faris foton sen lumo, do ĝi devas esti nigra. Kial ĝi aspektas tute brueca?
Kiom ajn malhelas foto, la aŭto-heligo de dcraw streĉas ĝin tiel ke unu procento da ĝia bilderoj aspektu blankaj. La opcio "-W" preventas tiun ĉi konduton.

Mi heligas plus/minus du paŝojn, sed ĉiuj kvin fotoj aspektas samaj en dcraw. Kial?
Vidu la antaŭan demandon.

Kial 16-bita eligo estas malhela / nelegebla?
Si vi volas belajn bildojn rekte el dcraw, uzu nur 8-bitan eligon. 16-bita linia eligo estas la plej bona kruda materialo por profesiaj bildo-redaktiloj kiel Photoshop kaj CinePaint, sed ĝin rifuzas plejmulto da bildo-vidigiloj.

Kion faras la parametro "-f"?
Se vi vidas tekson aŭ ĉi tianĉi tian en viaj bildoj, unue provu "dcraw -a". Se la tekso persistas, faru "dcraw -f" por forigi ĝin.

Ĉu vi bonvolos aldoni elekton eligi TIFF / FITS / PNG / BMP / JPEG?
En v8.25 kaj poste, "dcraw -T" skribas TIFF-on kun pridatumo. Por skribi aliajn formatojn:
dcraw -c crw_0001.crw | pnmtofits > crw_0001.fits
dcraw -c crw_0001.crw | pnmtopng > crw_0001.png
dcraw -c crw_0001.crw | ppmtobmp > crw_0001.bmp
dcraw -c crw_0001.crw | cjpeg > crw_0001.jpeg
Mi uzis la ilaron Netpbm en tiuj ĉi ekzemploj. ImageMagick ankaŭ konvertas formatojn per komanda linio. Ambaŭ estas liberaj.

Kial dcraw ne estas biblioteko?
Mi decidis, ke dcraw estu komand-linia programo verkita en C, kaj ke pluaj abstrakto-tavoloj estu aldonitaj ĉirkaŭ tiu ĉi koro, ne interne de ĝi.

Biblioteka kodo malbelas ĉar ĝi ne povas uzi mallokajn variablojn. Estas pli malfacile modifi, konstrui, instali, kaj testi bibliotekojn ol memstarajn programojn, do ili ne taŭgas dosiero-formatojn kiuj ŝanĝiĝas ĉiun tagon.

Estas pli facila metodo igi dcraw-on moduleca kaj faden-sekura: Rulu ĝin en aparta procezo. Eric Raymond jene eksplikas tiun teknikon.

Kial estas falsaj koloroj laŭ randoj?
Pro interpolado. Estas malfacila problemo, facile difinebla:
  1. Komencu per tri-kolora RVB bildo. Ĉe ĉiu bildero, nuligu du kolorojn.
  2. Rekonstruu la originalan tri-koloran bildon kiel eble plej bone el la restantaj unu-koloraj bilderoj.
Dcraw aktuale donas elekton inter kvar metodoj: Bilinia, Variabla Nombro de Gradientoj (VNG), Ŝablona Bildera Grupigo (PPG), kaj Adapta Homogena Direkto (AHD).

La sensilo "Foveon X3 Capture" bezonas alispecan interpoladon. Malkiel CCD-sensilo, ĝi kaptas tri kolorojn ĉe ĉiu bildero. Tamen la Foveon-a aparato ne bone apartigas kolorojn, do ĝia kruda datumo aspektas ege griza. Necesas multege da rafinado por fortigi koloron kaj mildigi bruon.

Kiel igi mian fotilon skribi krudajn fotojn?
Por fotiloj Canon PowerShot kiuj eligas nek CRW nek CR2, necesas la artifiko CHDK.
Por unuj fotiloj Nikon Coolpix, necesas enŝalti specialan reĝimon "DIAG RAW".
Por fotiloj Casio, iru al la retpaĝo de Maurice Delaney aŭ legu tiun ĉi diskuton ĉe dpreview.
Por la Minolta DiMAGE G400, G500, G530, aŭ G600, iru ĉi tien (ruslingve) ĉi tien (anglalingve).
Por la Minolta DiMAGE Z2 kaj Nikon Coolpix 2100/3100/3700, iru ĉi tien.
Por fotiloj SMaL, vidu la forumo camerahacking.
Por fotiloj Agfa kaj Samsung, iru ĉi tien.

Por aliaj fotiloj, legu la Uzulan Manlibron.

Ĉu dcraw funkcias kun mia fotilo?
Probable jes. Se via fotilo ne estas en tiu ĉi listo provu dcraw-on ĉiakaze. Se ĝi ne funkcias perfekte, ne sidu silente antendante mian sekvan eldonon. Demandu ĉu mi bezonas krudajn fotojn, aŭ tuj afiŝu foton ĉe via retpaĝo kaj sendu al mi la adreson. Se vi ne havas retpaĝon, uzu YouSendIt, RapidShare, Sendshack, ShareFile, sendspace, aŭ Megaupload.

Antaŭ ol elekti foton por sendi, legu la sekvan demandon:

Kial dcraw eligas verdecan bildon kun malfortaj koloroj?
Ĉar mankas al dcraw kolormatrico por via fotilo, ĝi eligas krudan koloron anstataŭ sRGB. Por korekti tion ĉi, mi bezonas foton de Wolf Faust, Calibr8, CMP, GretagMacbeth, aŭ alia kalibrita kolorkarto. Sekvu la jenan liston: