SEM画像用アプリ - その15 [プログラミング]
こないだから作っていたSEM画像のコントラストを自動調整するアプリ。完成。
例によって一見さん用のページと、アプリのダウンロード...
どうでもいいけど、さっきテレビのNHKニュースで見たFacebookのオフィスではパソコンの半分ほどがMacに見えた。うらやましいなあ。
こないだまで作ってきたのからいくつか変更点がある。
それと、ついでにカラー画像もコントラスト調整できるようにした。SEM画像でカラーなんてないけど、SEM画像に限らず、Macで読める一般の画像ファイルのコントラスト調整ができるようになった。また、カラーをモノクロに変換することも副作用的にできる。もちろんそんなことはAdobe Photoshopならイッパツだし、ImageJをはじめとするフリーの画像処理ソフトウェアでも簡単にできる。だから存在意義はそれほど高くはないけど、まあ、ドラッグ&ドロップで簡単にできるのでいいんではないか、と。
コントラスト調整のぐあいを見てみると、こんな調子。ウェブにあった適当な画像(こないだ見たフェルメールを選んだ)。
左上が拾ってきたそのまま、右上がPhotoshop(バージョンは8.0.1。古い。これしか持ってないしそれにこれで十分だし)の「自動レベル調整(オプションはデフォルトのまま)」したもの、下が僕のアプリで調整したもので、その左がEndsInの比率が0%、右が0.3%(白黒とも)のもの。
EndsInが入った方がPhotoshopに近くなるけど、Photoshopはちょっと黒潰れが多すぎるような気もする(オプションで「クリップ」の値は0.1%だけどもっと多いように見える)。モニタのγ値によっては背後の絵がよくわからなくなる。こうなってくると趣味の問題ではあるけど。関係ないけどフェルメールのカーテン越しの窓の外の明るさの表現とかは、もうほんとになんでもない自然さが美しい。
ソースはここ。プログラミング上はvImageのヒストグラムを扱う関数群のサンプルコードとして見ることができる。浮動小数点で割合を指定できるEndsIn調整の関数はvImageのvImageEndsInContrastStretch_Planar8とvImageEndsInContrastStretch_ARGB8888のかわりとして使える。それと、Macでは外部ファイルの形式を確認するための非常に簡単な方法であるUTIと、複雑な画像フォーマットを扱うためのNSBitmapImageRepのサンプルコードとしても読める。それほど難しいことはしていないけど、興味のある人は見て欲しい。
例によって一見さん用のページと、アプリのダウンロード...
どうでもいいけど、さっきテレビのNHKニュースで見たFacebookのオフィスではパソコンの半分ほどがMacに見えた。うらやましいなあ。
こないだまで作ってきたのからいくつか変更点がある。
- ちゃんと日本語リソースを作った
- カラー画像に対応した
- スーパーインポーズを退避するアルゴリズムからEndsInを使うように変更
それと、ついでにカラー画像もコントラスト調整できるようにした。SEM画像でカラーなんてないけど、SEM画像に限らず、Macで読める一般の画像ファイルのコントラスト調整ができるようになった。また、カラーをモノクロに変換することも副作用的にできる。もちろんそんなことはAdobe Photoshopならイッパツだし、ImageJをはじめとするフリーの画像処理ソフトウェアでも簡単にできる。だから存在意義はそれほど高くはないけど、まあ、ドラッグ&ドロップで簡単にできるのでいいんではないか、と。
コントラスト調整のぐあいを見てみると、こんな調子。ウェブにあった適当な画像(こないだ見たフェルメールを選んだ)。
左上が拾ってきたそのまま、右上がPhotoshop(バージョンは8.0.1。古い。これしか持ってないしそれにこれで十分だし)の「自動レベル調整(オプションはデフォルトのまま)」したもの、下が僕のアプリで調整したもので、その左がEndsInの比率が0%、右が0.3%(白黒とも)のもの。
EndsInが入った方がPhotoshopに近くなるけど、Photoshopはちょっと黒潰れが多すぎるような気もする(オプションで「クリップ」の値は0.1%だけどもっと多いように見える)。モニタのγ値によっては背後の絵がよくわからなくなる。こうなってくると趣味の問題ではあるけど。関係ないけどフェルメールのカーテン越しの窓の外の明るさの表現とかは、もうほんとになんでもない自然さが美しい。
ソースはここ。プログラミング上はvImageのヒストグラムを扱う関数群のサンプルコードとして見ることができる。浮動小数点で割合を指定できるEndsIn調整の関数はvImageのvImageEndsInContrastStretch_Planar8とvImageEndsInContrastStretch_ARGB8888のかわりとして使える。それと、Macでは外部ファイルの形式を確認するための非常に簡単な方法であるUTIと、複雑な画像フォーマットを扱うためのNSBitmapImageRepのサンプルコードとしても読める。それほど難しいことはしていないけど、興味のある人は見て欲しい。
2012-02-02 21:49
nice!(0)
コメント(0)
トラックバック(0)
コメント 0