--------

R-D1活用ソフトウェアライブラリ

開設:2004年10月12日 青木 康雄 / master@kani.com

--------

--------
R-D1を活用するために、愛を込めて!自分用に作っているソフトウェア類をここで公開していきたいと思います。

特別に断りが無い限り、全部のソフトウェアはMacintosh / MacOS X専用です。Macを持っていない人は、Macを手に入れてから、お越しください。
しかしながら、中には不純な動機でWindowsのコマンドラインで動くものがあったりするかもしれません。

■注意事項■

http://www.kani.com/ 以下で公開されているソフトウェアをダウンロードして起動したことにより、なにか問題がおきた場合、最大限の助言はさせていただきますが原則私は一切関知しません。これら公開されているソフトウェアを起動したことにより生じた一切の損害被害につき、私はなんら関知しないものとします。Your own risk.でお使いください。これら公開されているソフトウェアをダウンロードした時点で、本項に同意いただけたものとします。
--------

「sobelCbCr」偽色を除去する(汎用)

2005年3月24日:起動時にエラーアラート一発出して終了してしまう不具合を治しました。面倒なのでアーカイブ名はそのままです。

ちょっとイジワル?で触れましたが、全く同じ撮影環境で撮影しても、R-D1でJPEGで撮影した際の画像処理と、Raw現で行われる画像処理がどうも違うのではないかという議論のなかで、偽色除去処理が、Raw現では行われてないか、非常に弱いのではないかという問題がありました。
そこで、偽色を除去する実験として、いくつかのアルゴリズムを検証したのですが、そのなかのひとつを搭載したソフトウェアを公開します。

最終的にはR-D1のRawレベルで処理したいと思っておりますが、今は、汎用画像入力になってます。JPEGとか、BMP画像を読み込み、偽色が発生しやすいと思われる領域を選択的に処理します。
私が実験したところ、R-D1に限らず、いろんなデジカメで結構効果があるようです。

-------- --------
左:処理前     右:処理後

■ダウンロード:sobelCbCr Ver 0.012004年10月11日公開/2005年3月24日こっそり差し替え(247,084バイト)。
--------

「detectError」CCDの欠損画素を数える&ダークフレーム減算(R-D1専用)

2006年7月11日:detectErrorで正常に処理できないR-D1のRawファイルの存在が確認されました(R-D1sか?)。公開を一時中止します。

R-D1のCCD Rawファイルを読ませることで、欠損画素がどこにあって、何個あるかを調べます。欠損画素の中でも特に、暗いのに明るくなるもの(真っ暗でも電流じゃじゃもれになる画素)を見つけます。
また、ダークフレーム減算により、撮影画像のS/Nを向上させる機能を持ちます。Raw画像レベルでダークフレーム減算を行うことで、非常に高品位のデータソースを生成します。

注意!
detectErrorは、厳密に欠損画素を検出するものではありません。また、その判定根拠は、完全に私の経験による独断的しきい値で行っているものであり、センサーの品質保証仕様等は全く考慮しておりません。detectErrorの結果を見て、一喜一憂しないように、くれぐれもお願いします(お遊びだってことです)。
欠損画素の評価には、少なからずCCDの知識は必須です。長時間露光で同じ場所に白点が出現しても、それは欠損では無く画素のばらつきによる暗電流蓄積である可能性大です。というようなことを判断できる知識が必要です。
但し、ダークフレーム減算によるS/N向上は、そんな小難しいこと知らないでも、detectErrorを使えば誰でも得られる嬉しい成果ですので、そこんとこご理解のうえ、ぜひご活用ください。もちろん固定画素の暗電流蓄積白点は綺麗に除去できます。

特に高感度で長時間露光時に、本ツールの効果は絶大です。
ISO200〜400で、1/30より高速なシャッター速度で撮影した画像の場合、R-D1は非常に良好な画像を生成しますので、本ツールを使うまでもありません。が、一歩も妥協したくない会心画像を得たい時には、ぜひご利用ください。目視確認できるかどうかは別にして、少なからず画質が改善されることは間違いありません。

1/15より遅いシャッター速度の時には、効果がかなり見えるようになると思います。特に、夜景などの長時間露光には、ぜひご利用ください。
■ワンポイントアドバイス

長時間露光でちらちらする白点と、シャドウレベルの広範囲な浮きは、露光時間と温度に相関して比較的良好な再現性を示します。
よって、ダークフレーム補正をしたいと思う撮影駒と、ほぼ等しい露光時間と温度条件で、撮影したダークフレームがあることが望ましいです。但し、それを得ることが困難な場合は、露光時間だけでも合わせるようにしてください。

また、欠損画素(ならびに暗電流白点出やすい画素)は、宇宙放射線の影響を受けて、時間と共に増加します。新品時にはほとんど無いのが通常ですが、1年経つと増えているってことも珍しくありません。お使いのR-D1のセンサーがどれだけ宇宙放射線を食らったかを知るために、同じ条件で撮影した画像による欠損値を記録しておくことをお勧めします。
これまた主観ですが、R-D1の場合、純粋な欠損画素の検出は、ISO200〜400で、シャッター速度1秒、なんでもいいからレンズ装着して絞りF16やF22等めいいっぱい絞りレンズキャップをし、さらにカメラ全体を分厚い布切れで覆って暗黒にする等した上で、撮影したRawファイルをサンプルにして、本ツールで標準感度で測定すればOKと思います。これでゼロ個であれば、ひとまず安心です。このようなRawファイルは、撮影日時を明記して保存しておきましょう。

・暗黒画像の撮りかた

暗黒画像とは、私が勝手に命名したものです。センサーを遮光した状態で露光して、得られた画像のことです。当然真っ暗です。これをダークフレームって言います。完全暗黒状態で露光して得られる画像は、そのセンサーの持つノイズ(暗電流)成分を含み、また、欠損画素(画素欠け)があった場合は、それらが輝点として含まれます。これらを撮影画像から減算、または前後の画素から補間することで、撮影画像のS/Nを向上させることができます。これを、ダークフレーム減算処理と言います。

本ツールは、このダークフレーム減算処理を行うために、3枚の暗黒画像を必要とします。

光は意外なところから漏れてくるものです。
R-D1にボディーキャップをしただけ程度の遮光じゃ、全然アマチュアです。

一般家庭で良好な暗黒画像を撮影するには、レンズキャップのあるレンズを付けて、絞りをもっとも絞って、レンズキャップして、カメラの周りを厚手の布切れで覆って、さらに部屋の片隅の暗いところ(押入れの中)で撮影するぐらいの心配りが必要です。ダークバック等をお持ちのかたには、説明の要は無いでしょう。

上にも書いたとおり、暗黒画像に乗る除去対象であるノイズ成分は、露光時間と温度条件に相関する性質があります。ですので、特に1秒を超えるような長時間露光の場合、撮影画像の露光時間と同じ露光時間の暗黒画像が必要です。

1秒より短い露光時間の場合は、R-D1のセンサーの素性のよさからそれほど神経質になることはないと思います。1/2〜1/15ぐらいまでは、1/8の暗黒画像で代表して大丈夫でしょう。1/30より短い露光時間の場合は、私はダークフレーム減算処理の必要性を感じません。

今回実験的に、detectErrorの効果を確認するためにかなり過酷な条件での実験を行いました。
以下にご紹介します。

撮影条件:ISO1600、3秒露光。
Canon Serenar 100mm F4.0 / F22+ND2で撮影。

処理前後比較画面キャプチャー。


左:素のままキャプチャー    右:シャドウ持ち上げノイズ目立ち状態

上記Raw画像をPhotoshopで現像してJPEG保存した画像を以下に置きます。


左:detectError処理前画像      右:detectError処理後画像


2006年7月11日:detectErrorで正常に処理できないR-D1のRawファイルの存在が確認されました(R-D1sか?)。公開を一時中止します。

バッチ処理機能や、Rawのヘッダを見て、ダークフレームデータの自動識別機能などもおいおい入れていきたいと思いますが、今のところはまずは、アルゴリズム評価ということで。

ご意見、ご要望歓迎します。
--------
←戻る
master@kani.com