digital photo lab

RAW縮小現像ツール
下記RAWデータの縮小現像を自動化するツールを作成しました。ベイヤーパターンを自由に指定でき、RAW画像を読み込んで16bitのpngファイルを出力します。
Windows Linux_x86_64
RAWデータのシンプルな縮小現像
ベイヤー配列のセンサーは、RGBのそれぞれの光を感じるセンサーが平面上に並べられて構成されています。4画素で1つの色を表現しているので、ここではシンプルに4画素を1ピクセルにして現像する方法を紹介します。
-
まず平面のデータをそのまま出力します。出力されるデータはグレースケールです。
なぜカラー画像なのに出力されるのがグレースケールなのかというと、RGBのそれぞれのセンサー配置が決まっており、後で同じ箇所に色フィルターを当てることにより色を再現できるからです。
この時、16ビットフォーマットで出力するように注意して下さい。
デジタルカメラは多くの場合12bit〜14bitの画像を取得しますが、PCで一般的に使用される8bitフォーマットで出力するとほとんどの色情報が失われてしまいます。
RAW画像をダイレクトに出力出来るツールは限られています。
現在ではdcrawを使用する事が最も簡単かと思われます。
dcrawで16bitグレースケール画像として現像するには以下のコマンドを使用します。
「dcraw -D -4 XXX.raw」(XXX.rawは対象のraw画像)
- pgmというビットマップで出力されるので、画像編集ツールで扱える形式に変換します。windowsの場合は手順1でdcrawのオプションを利用して16bitのTIFFに出力してもいいかもしれません。
ここではnetpbmを利用して16bitのPNGに変換します。
「pnmtopng -paeth XXX.pgm > XXX.png」
- 変換後の画像を画像編集ツールで開きます。16bitフォーマットを扱える画像編集ツールーーここではGIMP2.9以降のバージョンーーを使用します。

開いた画像はほとんど真っ暗です。なぜかというと、12bit〜14bitの階調幅の情報が、
変換時に、より諧調幅の広い16bitフォーマットの暗い方に偏って出力されているからです。
色調補正は後で行うのでここでは暗いままにしておきます。
この状態の画像を明度、コントラストを上げて拡大すると下のようになっています。

- RGB各色の割り当てを行うため、撮影したカメラのセンサーの配列と同じ色の配列の画像(フィルタ)を用意します。
このデータを使用してください。画像の上か下のレイヤーにフィルタを配置します。
下はこの状態で明度、コントラストを調整した状態の画像です。
- 画像の上にフィルタをおいた場合は、フィルタのレイヤーモードを「色」に、画像の下においた場合は画像のレイヤーモードを「明度」にして画像を統合します。
- 画像の統合が終わると、色付きの状態となり、RGBの各カラーのみの画素が並んだオートクロームのような状態の画像となっています。右上が灰色なのは、Gが多いと緑に偏るので無色にしているためです。

ここで4つのピクセルの平均を取り1つのピクセルを作ります。この機能は「ピクセルぼかし」に相当します。GIMP2.9では「Pixelize」です。縦2,横2にして「Pixelize」を行います
- 50%のサイズに画像を縮小します。縮小時は「補完方法」を「補完しない」にします。無補完が無ければ「ニアレストネイバー法」を選んでください。これで4画素1pxの状態になりました。

- ここで一旦16bit画像として保存し、再度開きます。
- 色調補正します。トーンカーブを立ち上げると暗くても色が存在していたことが分かります。暗室でカラーネガをプリントする時の気持ちでじっくり補正していきます。
web等に載せるための最終出力の際は8bit画像に変換して出力します。16bit対応出力機器があれば、そのまま出力することも出来ます。

セブンイレブンのマルチコピー機による写真集の製作
なかなか上手く行かなかったので書いておきます。
- 必ず縦置き(縦長)の画像を用意します。出力するプリントのサイズがA3ならば3507x4960 A4ならば2480x3507にすると、300dpiで出力出来ます。サイズが合わなければ余白を作ったり拡大/縮小して調整します。画像ファイルの名前には、ページ順に001,002のように連番を付けておき、同じフォルダにまとめて置きます。セブンイレブンのマルチコピー機は最大50ページまでしか読み込まないので、ページ数をそれ以下にします。
- ImageMagick等でpdfにします。ImageMagickでA3、photo001.pngからphotoxxx.pngという名前のファイルをpdfにする場合、" convert photo*.png -page A3 out.pdf"、というコマンドになります。300dpiでページ数が多いと結構時間がかかったります。出来上がったpdfがちゃんとA3やA4になっているかプロパティを確かめておきます。
- 出来上がったpdfファイルをUSBメモリ等のメディアに入れてセブンイレブンに持って行き、文書プリント等で印刷します。両面印刷だと汚れがつく事があるようです。
HDR
HDRは、異なる露出で撮影された複数の写真を合成して、暗部や明部のトーンの少ない部分でも細かいトーンを出したり、飛んだり潰れたりするのを防いだり、自然な視覚を再現したり不自然な画像を作ったりする技術です。
具体的にはカメラを三脚で固定し段階露光を行い、画像編集ソフトや専用のソフトでレイヤー合成します。

デジタル撮影した3枚の画像をGIMPで合成したもので、どちらもHDRです。本来ならば、室内が真っ暗だったり、空が真っ白だったりする場面です。
unique
enlarged digital photograph / uniqueは最初すごく簡単なものに思えたのですが、実際にやってみるとかなり大変でした。どういう所が大変だったかというと、1・容量が8Gほど(!!)大きくなり、ハードディスクの空きが足りない。2・ファイル数が莫大になり、扱いにくい。3・そのような大量のファイルをアップロード出来る場所が少ない、という感じです
1は余計なHDの色んなファイルを処分してなんとか解決し、2はxargsやスクリプトを使ってなんとかし、3はgoogleを使わせてもらうことでなんとか解決しました。
dcraw
dcrawはフリーのraw現像ソフトで、最新の機種のrawでも比較的速く対応されています。
今回、dcrawのグラフィカルフロントエンドであるufrawがまだeos kiss x2に対応していない(※現在のverではすでに対応されています)ので、このdcrawを直接使ってraw現像してみます。
dcrawでなにもオプションを付けずに現像するとこんな感じになります。
$ dcraw rawphoto.CR2

等倍↓

なんか気に入らないので、補完のオプションを付けてみます。
-q 0 バイリニア
$ dcraw -q 0 rawphoto.CR2

コントラストを上げてみます↓

-q 1 VNG
$ dcraw -q 1 rawphoto.CR2


-q 2 PPG
$ dcraw -q 2 rawphoto.CR2


-q 3 AHD
$ dcraw -q 3 rawphoto.CR2

これがデフォルトみたいです。

-fをつけると少しなめらか?になります
$ dcraw -q 1 rawphoto.CR2


-dや-Dをつけると無補完のグレースケール画像になります。
$ dcraw -d rawphoto.CR2

$ dcraw -D rawphoto.CR2

それぞれ拡大するとこんな感じ


カラーなら-q 1グレースケールなら-Dが良さそうです。
ノイズを減らしてみる
dcrawにノイズ除去の機能があるようなので使ってみます。
$ dcraw -q 1 -n 50

$ dcraw -q 1 -n 50 (等倍)

$ dcraw -q 1 -n 100

$ dcraw -q 1 -n 300

$ dcraw -q 1 -n 600

$ dcraw -q 1 -n 1200

GREYCstorationのノイズ除去

値は大きくても150くらいがだいたい適当かもしんない
hug-in(予定
back