前回書いたlibRawを使って、実験的に実際にTimeLapse撮影した5D2&3のRAWファイルから生データを抜き出して輝度ヒストグラムを作ってみました。
音なしでは寂しいので、以前の動画でボツにした曲をリサイクル利用…
実験台は最近の動画で使用したフッテージで、絞り優先で露出を追随しているものや、露出固定のものなど、いろいろとりまぜていくつかのシチュエーションでヒストグラムをインポーズしています。ヒストグラムの作成はOpenCVの力を借りています。
画像そのものはRAWファイルに格納されているサムネール用のjpgをそのまま使用(なのでかなりちらついています)
上下2つのヒストグラムがありますが、下はそのままリニアで出力、上はとりあえずγ=2.0でガンマ補正をかけたもの(たぶん計算は合っているはず)。
これを見ると、白トビ以外の判定はガンマをかけた方を使うのがよいみたい。
更に平均を赤線、標準偏差を緑線で書いてあります。
じっくり見てみると、やはり心理的に感じる明るさとヒストグラムは結構乖離していることがわかる。
雪原などは夕暮れでも白昼並みかそれ以上に明るいし、星景といえどもその平均値は中心あたりから下へは行かない。
至極当たり前なことですが、適正露出というものが一筋縄ではいかないのも改めて納得。
ツールではなく自分でいろいろやってみて初めて分かることも沢山あります。
LibRaw…本家サイトの説明には以下のように書かれています。
LibRaw is a library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others).
つまり自分でカメラが吐き出すRAWファイルの中身をいろいろ詮索するプログラムを作れるというC++ライブラリ。
そもそもdcrawという(かなり凄いらしい)オープンソースのRAW現像ソフトがあるのだが、そのソースが非常に難解なので簡単に操作できるようにラッパーを作ったというのがこのライブラリが作られた理由のようです。
いずれにしてもこのライブラリ、おそらくカメラを普通に弄っている人にはほとんど必要のないシロモノでしょう。
なぜこんなものに手を出したかというと、1ボードLinuxに載せてTimeLapse撮影時にリアルタイムでヒストグラムを見ながら露出調整ができないかと考えているのです。
例えば、夕~夜や夜~朝など、明るさが劇的に変わる状況とか。
まあ、本当に出来るかどうかは今後の実験しだいなのですが。
結構出来のよいライブラリにもかかわらず、やはりニーズがほとんどないのかWeb上にはほとんど情報がなく、本家サイトのドキュメントも簡素すぎて分かりにくい。
ということで、どなたかの役に立つかもしれないので分かった範囲でまとめておきます。
しかしながら、まだ理解できていないところが多々ありますので、メモ程度だと思ってください。誤りも多々あるかもしれません。
インストール、コンパイル方法などは本家サイトに詳しく書いてあるので割愛します。
自身の環境ではVMWare上でのUbuntu+gcc、カメラは5D2&5D3で正常に動作しました。
基本的に コンパイル時にlibraw/libraw.hをincludeして、リンク時にlibrawライブラリをリンクすればOKです。
ざっとした使い方と動作が分かるようなサンプルを以下に作ってみました。
[DL]
使い方はコンパイル後コマンドプロンプトで
libraw_test [rawファイル]
と入力。
ここでやっていることの大筋は次のような感じです。
・LibRawオブジェクト(RawProcessor)を生成
・RAWファイル読み込み(RawProcessor.open_file)
・主要なRAWに含まれるExif情報・パラメータを表示。
・Bayerデータ(もしくはYCbCr/RGBデータ)生成(RawProcessor.unpack)
・Bayerデータ(もしくはYCbCr/RGBデータ)の左上の一角をダンプ。(全部ダンプすると大変なので)
・同時にraw.binにBayerデータ(もしくはYCbCr/RGBデータ)を保存
・ポストプロセスの準備?(RawProcessor.raw2image) …なくても動く、まだ良く分からない。
・サムネールjpgを生成(RawProcessor.unpack_thumb)…RAWファイルの中にはプレビュー用のjpgが埋め込まれているらしい。それを取り出すのがこれ。
・tiffを生成(RawProcessor.dcraw_process)
主要な処理ブロックの処理時間も計測しています。
実行すると、以下のような感じでズラズラと情報が出てくると思いますが、大体はRAW現像ソフトが表示するExif情報と同じなので内容は分かるかと思います。(中には不明なものもあります。)
従って解説が必要そうな箇所だけ自身の備忘録を兼ねて列挙しておきます。
個人的に必要な機能は主にBayerデータ(もしくはYCbCrデータ)の生成までなので、そこを重点的に。
それ以降の機能はあまり追及していません。
1. サイズをあらわす変数が多いので混乱しそうだが、(raw_height,raw_width)はバッファ全体のサイズ、(height,width)(iheight,iwidth)は画像の有効サイズ(双方の区別がまだ良く分からないが、いつも同値なので気にしていない)、(top_margin,left_margin)は余白部分。
つまりバッファから有効画像を切り出す場合は[(left_margin,top_margin),(left_margin + iwidth - 1,top_margin + iheight - 1)]の矩形を切り出せばよい。
2. maximumが輝度の最大値。unpack前後で値が変わるが、何故なのかは良く分からない。
3. 5D2,5D3のRAWで見る限り、Full RAWの場合はBayer配列、MRAW&SRAWの場合は[Y,Cb,Cr,0h]がlibRaw内部で変換されて[R,G,B,0h]の形式で格納されるみたい。従ってプログラムではこれら2つの場合で処理を分けた。
後者の場合、unpack前にRawProcessor,imgdata.params.sraw_ycc = 1とするとRGB変換が行われずYCbCrそのままで格納される。荒く輝度ヒストグラムをとる程度ならばこちらの方が便利かも。ただし、ポスト処理で出されるtiffが化ける。
また、格納データは輝度が線形のままなのでそのままだと非常に暗い。この生データを利用する場合は別途ガンマ補正をかける必要があるかと。
4. unpack後のrawデータのポインタが幾つか存在するが、Full RAWの場合raw_alloc,MRAW&SRAWの場合はcolor4_imageにデータが格納される。各々のデータ形式は3で書いた通り。
どなたかの役に立てば幸いです。(…があまり誰も使わないか…)
----
後日補足
使用例としてこんな記事も書きました。
LibRaw is a library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others).
つまり自分でカメラが吐き出すRAWファイルの中身をいろいろ詮索するプログラムを作れるというC++ライブラリ。
そもそもdcrawという(かなり凄いらしい)オープンソースのRAW現像ソフトがあるのだが、そのソースが非常に難解なので簡単に操作できるようにラッパーを作ったというのがこのライブラリが作られた理由のようです。
いずれにしてもこのライブラリ、おそらくカメラを普通に弄っている人にはほとんど必要のないシロモノでしょう。
なぜこんなものに手を出したかというと、1ボードLinuxに載せてTimeLapse撮影時にリアルタイムでヒストグラムを見ながら露出調整ができないかと考えているのです。
例えば、夕~夜や夜~朝など、明るさが劇的に変わる状況とか。
まあ、本当に出来るかどうかは今後の実験しだいなのですが。
結構出来のよいライブラリにもかかわらず、やはりニーズがほとんどないのかWeb上にはほとんど情報がなく、本家サイトのドキュメントも簡素すぎて分かりにくい。
ということで、どなたかの役に立つかもしれないので分かった範囲でまとめておきます。
しかしながら、まだ理解できていないところが多々ありますので、メモ程度だと思ってください。誤りも多々あるかもしれません。
インストール、コンパイル方法などは本家サイトに詳しく書いてあるので割愛します。
自身の環境ではVMWare上でのUbuntu+gcc、カメラは5D2&5D3で正常に動作しました。
基本的に コンパイル時にlibraw/libraw.hをincludeして、リンク時にlibrawライブラリをリンクすればOKです。
ざっとした使い方と動作が分かるようなサンプルを以下に作ってみました。
[DL]
使い方はコンパイル後コマンドプロンプトで
libraw_test [rawファイル]
と入力。
ここでやっていることの大筋は次のような感じです。
・LibRawオブジェクト(RawProcessor)を生成
・RAWファイル読み込み(RawProcessor.open_file)
・主要なRAWに含まれるExif情報・パラメータを表示。
・Bayerデータ(もしくはYCbCr/RGBデータ)生成(RawProcessor.unpack)
・Bayerデータ(もしくはYCbCr/RGBデータ)の左上の一角をダンプ。(全部ダンプすると大変なので)
・同時にraw.binにBayerデータ(もしくはYCbCr/RGBデータ)を保存
・ポストプロセスの準備?(RawProcessor.raw2image) …なくても動く、まだ良く分からない。
・サムネールjpgを生成(RawProcessor.unpack_thumb)…RAWファイルの中にはプレビュー用のjpgが埋め込まれているらしい。それを取り出すのがこれ。
・tiffを生成(RawProcessor.dcraw_process)
主要な処理ブロックの処理時間も計測しています。
実行すると、以下のような感じでズラズラと情報が出てくると思いますが、大体はRAW現像ソフトが表示するExif情報と同じなので内容は分かるかと思います。(中には不明なものもあります。)
idata----------------------------
make(Camera manufacturer): Canon
model(Camera model.): EOS 5D Mark III
raw_count(Number of RAW images in file): 1
dng_version(DNG version (for the DNG format).): 0
colors(Number of colors in the file.): 3
sizes----------------------------
(Full size of RAW image (including the frame) in pixels.)
raw_height: 3950
raw_width: 5920
(Size of visible (meaningful) part of the image (without the frame).)
height: 3870
width: 5796
(Coordinates of the top left corner of the frame)
top_margin: 80
left_margin: 122
(Size of the output image)
iheight: 3870
iwidth: 5796
raw_pitch(Full size of raw data row in bytes.): 0
flip(Image orientation): 0
colors----------------------------
maximum(Maximum pixel value. Calculated from the data for most cameras, hardcoded for others): 15488
data_maximum(Maximum pixel value in real image (not including masked area)): 0
black(Black level. Depending on the camera): 0
other----------------------------
iso_speed: 320.000000
shutter: 789.611918
aperture: 16.000000
focal_len: 24.000000
desc:
artist:
rawdata(pre unpack)----------------------------
raw_alloc: 0
raw_image: 0
color3_image: 0
color4_image: 0
params----------------------------
sraw_ycc: 0
unpack: 0.950000 sec
colors----------------------------
maximum: 15488
data_maximum: 0
black: 2047
raw_pitch: 11840
rawdata(post unpack)----------------------------
raw_alloc: b45f0008
raw_image: b45f0008
color3_image: 0
color4_image: 0
[0875] [092b] [0871] [091b] [086d] [0917] [0877] [0911] [0879] [091c] [086d] [0931] [0879] [0924] [0874] [0932]
[0929] [08fb] [091e] [08ed] [0927] [0907] [0931] [08fb] [0937] [0902] [0928] [0907] [093d] [0903] [0925] [0907]
[0871] [0920] [0885] [0913] [0862] [0925] [086d] [0908] [086d] [091b] [0872] [092c] [086d] [0934] [0885] [0940]
[0919] [0903] [0933] [0906] [091c] [08fe] [091c] [0901] [0931] [08f3] [092e] [090b] [092f] [08fe] [093a] [090c]
.
.
.
.
maxval = 13513(34c9h), minval = 0(0h)
rough tiff: 0.110000 sec
rawdata(post raw2image)----------------------------
raw_alloc: b45f0008
raw_image: b45f0008
color3_image: 0
color4_image: 0
raw2image: 0.230000 sec
unpack_thumb: 0.010000 sec
dcraw_process: 4.050000 sec
従って解説が必要そうな箇所だけ自身の備忘録を兼ねて列挙しておきます。
個人的に必要な機能は主にBayerデータ(もしくはYCbCrデータ)の生成までなので、そこを重点的に。
それ以降の機能はあまり追及していません。
1. サイズをあらわす変数が多いので混乱しそうだが、(raw_height,raw_width)はバッファ全体のサイズ、(height,width)(iheight,iwidth)は画像の有効サイズ(双方の区別がまだ良く分からないが、いつも同値なので気にしていない)、(top_margin,left_margin)は余白部分。
つまりバッファから有効画像を切り出す場合は[(left_margin,top_margin),(left_margin + iwidth - 1,top_margin + iheight - 1)]の矩形を切り出せばよい。
2. maximumが輝度の最大値。unpack前後で値が変わるが、何故なのかは良く分からない。
3. 5D2,5D3のRAWで見る限り、Full RAWの場合はBayer配列、MRAW&SRAWの場合は[Y,Cb,Cr,0h]がlibRaw内部で変換されて[R,G,B,0h]の形式で格納されるみたい。従ってプログラムではこれら2つの場合で処理を分けた。
後者の場合、unpack前にRawProcessor,imgdata.params.sraw_ycc = 1とするとRGB変換が行われずYCbCrそのままで格納される。荒く輝度ヒストグラムをとる程度ならばこちらの方が便利かも。ただし、ポスト処理で出されるtiffが化ける。
また、格納データは輝度が線形のままなのでそのままだと非常に暗い。この生データを利用する場合は別途ガンマ補正をかける必要があるかと。
4. unpack後のrawデータのポインタが幾つか存在するが、Full RAWの場合raw_alloc,MRAW&SRAWの場合はcolor4_imageにデータが格納される。各々のデータ形式は3で書いた通り。
どなたかの役に立てば幸いです。(…があまり誰も使わないか…)
----
後日補足
使用例としてこんな記事も書きました。
入梅したのかと思うほど天候不順がずっと続いていてアウトドアに出ることも少なくなっています。
ということで当面は自宅でも遊べるテクニカルな方向へ逃避しようかと…
OpenCVというのはオープンソースのコンピュータービジョン向けのC++ライブラリです。
要は形状認識や動体追跡や顔認識などをはじめとする画像認識、またそれに付随する画像処理などがこれを使うと簡単に出来るわけで、最近トレンドの知的ロボットやDeepLearningのエンジンとしても標準的に採用されており、頻繁に改良や機能追加がされています。
写真・映像系の人々にはあまり関係ない…と思いきや、最新版ではHDRやスティッチングなどフォトグラファー向けの機能なんかも充実してきていて、目が離せないのです。
ということで、個人的には今後もOpenCVとの付き合いが深くなっていきそうなので、新たにOpenCVカテゴリを追加しました。
もちろん、PhotoshopやAfterEffects+プラグインで通常作業のほとんどのところは済んでしまうので、いざそこから一歩出ようとする場合にこれを使うと便利かも…という話です。もちろんプログラムを組めるスキルが前提になりますが。
OpenCVの正当な使い方などは、そちらの専門の方々が数多く書かれていて、Webでも情報が多々あるので、ここでは専ら写真や映像にこのライブラリをどうやって活用するかというニッチな点に絞って書いていければと考えています。
おそらくそういう用途に使っている人々はごく少数派と思われるので。
そういうこともあって、基本的なインストール方法やコンパイル方法については本家サイトや他の専門サイトに詳しく書いてあるので譲ります。
ちなみに以前作成したこの動画もOpenCVを大々的に使ってます。…というかOpenCVがなければ作れなかった一品です。
以上が前置きです。
アウトドアカメラマンにとって、これから春以降に困るのが黄砂やPMや水蒸気などで遠景が霞んでしまって眠い絵になってしまうことで、これをなんとかポスト処理で取り除けないかとWebで情報を探していた際にこんな論文を見つけた。見たところMicroSoftの研究所が出処らしい。
http://research.microsoft.com/en-us/um/people/jiansun/papers/dehaze_cvpr2009.pdf
内容はかなり専門的で、写真からHaze(霞)の量を推定してそれを取り除いた画像を合成しようというもの。
いろいろ数式が並んで難解だが、要旨は次のようなことのようです。
霞がかかった画像の特徴は、「あるピクセルの近傍に黒色が存在しない」ということ。
つまり、本来(空を除く)遠景の中には必ず影などが至るところにあるため黒い部分がほぼ満遍なく存在するはずだが、霞んでしまうとその黒が白くなってしまいコントラストが低くなってしまうわけです。
これを前提にすると、該当する画像上のすべてのピクセル近傍の最も黒い部分を探して、ノイズ除去のために少々スムージングをかければその近傍の霞の量が推定でき、霞によって底上げされた輝度を引き算してやることで本来の霞のない黒色を取り戻すことができるということ。
更に探してみると、このアルゴリズムをOpenCVを使ってC++でインプリメントした方がおられます。ライセンスが不明ですが。
https://github.com/Chrisawa/image-video-dehazing-OpenCV
非常に出来がよいのですが、最近のOpenCVではファイル構造が変わっていてコンパイルが通らないので、少々手直ししたものを以下に張っておきます。(OpenCV 2.4.5で動作確認)
[DL]
個人的に使いやすいように外部から静止画ファイルとw(後述)の値が指定できるようにしています。また、中間画像も保存するようにしています。あと、途中で使用するスムージング用のブラーをmedianからgaussianに代えるとか(16bit tiffでも問題なく処理したいので、制限の少ないgaussianBlurを使った)。
動画用と静止画用の両方が入っており、コメントアウト部分を付け替えることでどちらにも対応できます。(動画部分は弄ってないので少々手直しが必要かと)
コンパイル後、使い方はコマンドプロンプトで
dehazemdcp [画像ファイル] [wの値]
で起動・処理。
例えばhoge.tiffを強度軽めに処理をしたければ
dehazemdcp hoge.tiff 0.65
とか。
処理が終了すると元画像と結果画像が並んで表示され、いずれかのキーをヒットすれば終了します。
終了後に生成される画像は
beforeafter.jpg: 使用前・使用後比較
darkChannel.jpg: ダークチャンネル。白い場所ほど霞が多いと判断される。
t.jpg: 黒いところほど多くの輝度が引き算される。
dehazed.jpg: 結果
前述のwの値ですが、これが効果のかかり方を制御するもので0~1の間の少数、デフォルトでは0.75、これより小さいと効果が少なくなるが現実的に、大きいと効果が大きく現実離れしてくる。
実際やってみた結果が以下です。


ご覧のように、霞みが取り除かれて、白っぽい部分のコントラストが強くなったのが分かるかと思います。
wの値が増えていくと、HDRのトーンマップをかけたような感じなって、なんだか海外の風景写真に良く見かけるような派手な色合いに変貌します。
通常のコントラスト操作との相違は、局所的に最適なレベル操作をしていることで、ただコントラストを弄っているだけではこのような効果は難しいでしょう。
論文内では、「空にかけちゃダメ」と書いてありますが、空にかけるとCPLフィルタをかけたような効果も出るので、そのような使い方もアリのように思います。
生成された画像単体ではウソ臭くなりすぎるので、元画像とうまくミックスして適材適所で使用すると結構使えるような気がしています。
ということで当面は自宅でも遊べるテクニカルな方向へ逃避しようかと…
OpenCVというのはオープンソースのコンピュータービジョン向けのC++ライブラリです。
要は形状認識や動体追跡や顔認識などをはじめとする画像認識、またそれに付随する画像処理などがこれを使うと簡単に出来るわけで、最近トレンドの知的ロボットやDeepLearningのエンジンとしても標準的に採用されており、頻繁に改良や機能追加がされています。
写真・映像系の人々にはあまり関係ない…と思いきや、最新版ではHDRやスティッチングなどフォトグラファー向けの機能なんかも充実してきていて、目が離せないのです。
ということで、個人的には今後もOpenCVとの付き合いが深くなっていきそうなので、新たにOpenCVカテゴリを追加しました。
もちろん、PhotoshopやAfterEffects+プラグインで通常作業のほとんどのところは済んでしまうので、いざそこから一歩出ようとする場合にこれを使うと便利かも…という話です。もちろんプログラムを組めるスキルが前提になりますが。
OpenCVの正当な使い方などは、そちらの専門の方々が数多く書かれていて、Webでも情報が多々あるので、ここでは専ら写真や映像にこのライブラリをどうやって活用するかというニッチな点に絞って書いていければと考えています。
おそらくそういう用途に使っている人々はごく少数派と思われるので。
そういうこともあって、基本的なインストール方法やコンパイル方法については本家サイトや他の専門サイトに詳しく書いてあるので譲ります。
ちなみに以前作成したこの動画もOpenCVを大々的に使ってます。…というかOpenCVがなければ作れなかった一品です。
以上が前置きです。
アウトドアカメラマンにとって、これから春以降に困るのが黄砂やPMや水蒸気などで遠景が霞んでしまって眠い絵になってしまうことで、これをなんとかポスト処理で取り除けないかとWebで情報を探していた際にこんな論文を見つけた。見たところMicroSoftの研究所が出処らしい。
http://research.microsoft.com/en-us/um/people/jiansun/papers/dehaze_cvpr2009.pdf
内容はかなり専門的で、写真からHaze(霞)の量を推定してそれを取り除いた画像を合成しようというもの。
いろいろ数式が並んで難解だが、要旨は次のようなことのようです。
霞がかかった画像の特徴は、「あるピクセルの近傍に黒色が存在しない」ということ。
つまり、本来(空を除く)遠景の中には必ず影などが至るところにあるため黒い部分がほぼ満遍なく存在するはずだが、霞んでしまうとその黒が白くなってしまいコントラストが低くなってしまうわけです。
これを前提にすると、該当する画像上のすべてのピクセル近傍の最も黒い部分を探して、ノイズ除去のために少々スムージングをかければその近傍の霞の量が推定でき、霞によって底上げされた輝度を引き算してやることで本来の霞のない黒色を取り戻すことができるということ。
更に探してみると、このアルゴリズムをOpenCVを使ってC++でインプリメントした方がおられます。ライセンスが不明ですが。
https://github.com/Chrisawa/image-video-dehazing-OpenCV
非常に出来がよいのですが、最近のOpenCVではファイル構造が変わっていてコンパイルが通らないので、少々手直ししたものを以下に張っておきます。(OpenCV 2.4.5で動作確認)
[DL]
個人的に使いやすいように外部から静止画ファイルとw(後述)の値が指定できるようにしています。また、中間画像も保存するようにしています。あと、途中で使用するスムージング用のブラーをmedianからgaussianに代えるとか(16bit tiffでも問題なく処理したいので、制限の少ないgaussianBlurを使った)。
動画用と静止画用の両方が入っており、コメントアウト部分を付け替えることでどちらにも対応できます。(動画部分は弄ってないので少々手直しが必要かと)
コンパイル後、使い方はコマンドプロンプトで
dehazemdcp [画像ファイル] [wの値]
で起動・処理。
例えばhoge.tiffを強度軽めに処理をしたければ
dehazemdcp hoge.tiff 0.65
とか。
処理が終了すると元画像と結果画像が並んで表示され、いずれかのキーをヒットすれば終了します。
終了後に生成される画像は
beforeafter.jpg: 使用前・使用後比較
darkChannel.jpg: ダークチャンネル。白い場所ほど霞が多いと判断される。
t.jpg: 黒いところほど多くの輝度が引き算される。
dehazed.jpg: 結果
前述のwの値ですが、これが効果のかかり方を制御するもので0~1の間の少数、デフォルトでは0.75、これより小さいと効果が少なくなるが現実的に、大きいと効果が大きく現実離れしてくる。
実際やってみた結果が以下です。


ご覧のように、霞みが取り除かれて、白っぽい部分のコントラストが強くなったのが分かるかと思います。
wの値が増えていくと、HDRのトーンマップをかけたような感じなって、なんだか海外の風景写真に良く見かけるような派手な色合いに変貌します。
通常のコントラスト操作との相違は、局所的に最適なレベル操作をしていることで、ただコントラストを弄っているだけではこのような効果は難しいでしょう。
論文内では、「空にかけちゃダメ」と書いてありますが、空にかけるとCPLフィルタをかけたような効果も出るので、そのような使い方もアリのように思います。
生成された画像単体ではウソ臭くなりすぎるので、元画像とうまくミックスして適材適所で使用すると結構使えるような気がしています。
先日の裏磐梯動画の1シーンの撮影時に起きた出来事です。
場所で言うと1:43あたり。
感動的な黎明の湖の畔でカメラをセッティング。
光が射してくる時間をひたすら待ち続けた。
そしてまさにその瞬間が来たとき、なんと構図の中をワカサギ釣りのオヤジさんが横切って行ったのです…
もちろん凍結した湖面上。。
その部分を拡大してみるとこんな感じ。

全体の大きさに対して本当に小さい影なのだが、持ち帰って見直してみるとどうしても唯一の動体であるオヤジさんにしか目が行かなくなってしまう。主役は朝の光と影のはずなのに…
撮り直しはきかないため、判断は3つのうちの一つ
1.このシーンは諦める -> しかし諦めがつかない
2.いっそのことオヤジさんを主役に -> しかしそれは本意ではない
ということで3つめの選択肢、ポストプロセスでデジタル的にオヤジさんを抹殺(?)することに決定。
そこで、一番初めに思いつくAfterEffectsのコピースタンプで試してみた)が、前景の樹が邪魔でうまくいかない。
そこで、知恵を絞った。
思いついたのが、星でよく使う比較明合成で消せないだろうか?
やってみた。
AfterEffects上でオヤジさんの軌跡部分にマスクを設定、そこにEchoをタップ多めにかけ、Echoオペレータを最大値にしてみた。
これは前後フレームで比較明合成をしているのと等価になる。
オヤジさんより周囲が明るいので、(オヤジさんが立ち止まらない限りは前後の同じ場所の明るいフレームがオヤジさんを消してくれるというもの。
果たして結果は…公開した動画の通りで、綺麗にオヤジさんを抹殺(?)できました。
たまたまオヤジさんが止まらずに移動してくれたので成功したわけですが、とりあえずめでたくデジタルの勝利という結果になりました。
場所で言うと1:43あたり。
感動的な黎明の湖の畔でカメラをセッティング。
光が射してくる時間をひたすら待ち続けた。
そしてまさにその瞬間が来たとき、なんと構図の中をワカサギ釣りのオヤジさんが横切って行ったのです…
もちろん凍結した湖面上。。
その部分を拡大してみるとこんな感じ。

全体の大きさに対して本当に小さい影なのだが、持ち帰って見直してみるとどうしても唯一の動体であるオヤジさんにしか目が行かなくなってしまう。主役は朝の光と影のはずなのに…
撮り直しはきかないため、判断は3つのうちの一つ
1.このシーンは諦める -> しかし諦めがつかない
2.いっそのことオヤジさんを主役に -> しかしそれは本意ではない
ということで3つめの選択肢、ポストプロセスでデジタル的にオヤジさんを抹殺(?)することに決定。
そこで、一番初めに思いつくAfterEffectsのコピースタンプで試してみた)が、前景の樹が邪魔でうまくいかない。
そこで、知恵を絞った。
思いついたのが、星でよく使う比較明合成で消せないだろうか?
やってみた。
AfterEffects上でオヤジさんの軌跡部分にマスクを設定、そこにEchoをタップ多めにかけ、Echoオペレータを最大値にしてみた。
これは前後フレームで比較明合成をしているのと等価になる。
オヤジさんより周囲が明るいので、(オヤジさんが立ち止まらない限りは前後の同じ場所の明るいフレームがオヤジさんを消してくれるというもの。
果たして結果は…公開した動画の通りで、綺麗にオヤジさんを抹殺(?)できました。
たまたまオヤジさんが止まらずに移動してくれたので成功したわけですが、とりあえずめでたくデジタルの勝利という結果になりました。
春なので気分転換にタイトル写真や細かいところを変えてみました。
CSSの勉強のついでという意味合いもありますが。
タイトル写真は気分を夏に向けて海中から見上げた太陽。もっとも好きな構図のひとつ。
黒潮全開の八丈島で撮ったものです。
それに加えて、たまにメッセージなど頂くこともあるので、分かりやすい位置にメールフォームを配置してみました。
それにしても、センス良くCSSを作りこむのは難しい。
CSSの勉強のついでという意味合いもありますが。
タイトル写真は気分を夏に向けて海中から見上げた太陽。もっとも好きな構図のひとつ。
黒潮全開の八丈島で撮ったものです。
それに加えて、たまにメッセージなど頂くこともあるので、分かりやすい位置にメールフォームを配置してみました。
それにしても、センス良くCSSを作りこむのは難しい。