hirax.net::Keywords::「ダイアログ」のブログ



1999-01-28[n年前へ]

Photohoの落とし穴 

ノイズフィルタに要注意

 Phtoshopは大変巨大なソフトである。巨大すぎてよくわからないところも多い。巨大な割にはマニュアルは薄い。性能の割には安いと思うのだが、もう少し詳しいマニュアルも作って欲しい。Adobe(アドビでなくて)からなら入手できるのだろうが。

 今回はPhotoshopの「ノイズフィルタ」について考えてみたい。 ノスタルジックにしたい時など重宝するフィルタである。

Photoshopの「ノイズフィルタ」
図.1
 上のようにメニューからノイズフィルタを選ぶと、次のようなダイアログが出る。
ノイズフィルタのダイアログ
図.2
 まずは、第一の疑問がわく。分布方法の「均等に分布」、「ガウス分布」とは何だろうか?まずは、それぞれのノイズ画像を見てみる。
 まず、「均等に分布」のノイズを見てみる。
「均等に分布」のノイズ
図.3
 次に、「ガウス分布」のノイズである。
「ガウス分布」のノイズ
図.4
 一見した印象はさほど変わらない。それでは、ヒストグラムを見てみる。
図.5: 左が「均等に分布」、右が「ガウス分布」
 これならば、「均等に分布」、「ガウス分布」の意味がわかりそうである。左が-均等-であり、右が-ガウス-分布-であるというのは実感できる。

 両方とも、「ノイズの量」を55にしてある。左上の「均等に分布」の画像を見ると200から255までの間にノイズが-均等に分布-していることがわかる。ということは255 から ( 255-「ノイズの量」 ) までのレベルにノイズが-均等に-分布していることがわかる。ただし、「ノイズの量」の最大値は999であるから、さらに、何らかの処理が加えられているのだろう。
 同じように、「ガウス分布」の方もガウス分布の分散、中心値、ノイズ量を「ノイズの量」の数値に従い適当に導いているのだろう。大雑把にはわかった。

 今回は濃度の分布に対する考察はここまでにしておく。次は位置分布である。今回のメインはこちらである。
 まずは、下の図.3の拡大図を見て欲しい。

「均等に分布」のノイズ画像の部分拡大図
図.6
 妙に周期性が感じられないだろうか? 少なくとも私は感じる。これは気のせいなどではない、と思う。それは「ガウス分布」で同様である。
そこで、Photoshopのノイズフィルタの位置分布に何らかの周期性があるのかどうかを調べてみたい。

そこで、それぞれのノイズ画像をフーリエ変換し周波数領域に変換する。
左が「均等に分布」のノイズ、右が「ガウス分布」の周波数領域
「均等に分布」
「ガウス分布」

 すると、縦線が見える。つまり、どちらも横方向に周期性があることがわかる。またそれよりレベルは小さいが縦方向にも周期性がある。それぞれの分布で周期性は異なっている。
 横方向で一番レベルが大きいものは周期128ピクセルである。これはどちらの分布に関しても言えそうである。128とはいかにも納得できる数字である。
 縦方向は85ピクセル位か?100位のもあるな? いずれ、より詳しい解析を行ってみたい。

 さて、以前PhotoShopの乱数Pluginを作ろう。----FilterFactory編---(1999.01.08)で作成したプラグインはこんな周期性を持っていないことを保証しておく。以下がその証拠である。

JRnd2Redで作成したノイズ画像とそのフーリエ変換
 こちらには、周期性はないのがわかると思う。

 今回の結論:Photoshopのノイズフィルタには要注意である。
 今回の教訓:何はともあれ疑ってかかれ。

1999-06-30[n年前へ]

デジカメ画像をスクリーンセーバーにしたい 

記念写真を飾ろう

 最近は、飲み会での撮影はデジカメを使うことも多い。しかし、デジカメで撮った画像というのはそれっきりになってしまうことも多い。特に宴会で撮った画像なんかはどう使ったらいいか困ってしまう。とはいっても、送別会で撮った写真などはなんとかして有効利用したいものである。
 というわけで、デジカメ画像を使えるスクリーンセーバーを作ってみたい。そうすれば、スクラップブック代わりにも使える。しかもとびきりかっこいい奴を作りたい(私の主観を基準として)。

 というわけで、写真アルバム風のスクリーンセーバーを作りたい。つまりは、「スクリーンセーバーを作ろう。- FilmStrip - (1998.11.17) 」の回で作ったスクリーンセーバーを蘇らせてみたのである。まずは、設定ダイアログを見て欲しい。

設定画面

  これを見れば大体わかると思うが、主な変更点はSusieプラグインに対応することにより、さまざまな画像ファイルに対応することができるようになったのと、「テーマ」を複数用意したことである。
 Susie「kanaさんのWEB中のSusie関係のlinkページ」から辿って、対応するSusieプラグインを手に入れてくれば、大抵のデジカメの画像を表示することができるだろう。大抵のデジカメはJPEGファイルなので、JPEG用のプラグインがあれば使えるものも多いと思う。Susieプラグインはシステムディレクトリに入れれば使えるようになる。あるいは、Susieをインストールした所でも良い。
 もし、全くSusieプラグインを入れないと、BMPファイルしか開くことができないので注意が必要である。

 また、画像ファイルの入っているディレクトリは「@マークボタン」を押せば変更することができる。

 それでは、テーマを紹介してみる。まずは、デフォルトの「カラーリバーサルフィルム」テーマである。リバーサルフィルムがモチーフである。これのテーマソングは(別に曲が流れるわけでも何でもないが)「僕のコダクローム」だ。

カラーリバーサルフィルム

 次は、「白黒フィルム(コンタクトプリント)」テーマである。白黒フィルムを現像した後に必ず行うコンタクトプリント(ベタ焼き)がモチーフだ。グレイ化処理を行いながら表示を行う。これのテーマソングは「カメラ!カメラ!カメラ!」だ。

白黒フィルム(コンタクトプリント)

 次は、パーティーションなどにポラロイドを貼っているような「ポラロイドのピンナップ」テーマである。テーマソングは「君は天然色」だ。

ポラロイドのピンナップ

 そして、最後はコルクボードにセピア色になった写真を貼りつける「白黒のピンナップ」テーマだ。セピア処理をしながら表示してくれる。テーマソングは「卒業写真」だ。

白黒のピンナップ

テーマソングを見ると作者の年齢が想像されるが、そうそう年寄りではないつもりだ。と、一応書いておこう。

ダウンロードはこちらだ。ちなみにWindowsNTには未だ対応していない。それは対応させるとデバッグが面倒だからだ。また、

スクリーンセーバー FilmStrip99 (filmstrip99.lzh) 537kB

著作権表示 (必要ない人はパスだ。)

 (デフォルトで画像ディレクトリに指定されている)C:\image\bmpに入れるためのファイルはこちら。先にこちらの画像ファイル群をC:\image\bmpというディレクトリの下に入れてから動かして欲しい。しつこいようだが、C:\image\bmpの下に画像ファイルがいっぱいという状態にするのである。

サンプル画像ファイル(Copyright Jun Hirabayashi)(お気に入りのおすすめ。) image.lzh 805kB222kB

そうでないと、一番最初の起動時にエラーが出るだろう。もし、自分で表示させたいものがあるなら設定ダイアログから変更してしまえば良い。もちろん、完成度は未だ高くないのはいつものことである。それでも悪さはしないはずだ。

 「こんなテーマがあれば良いのに」という意見があればぜひぜひメールを送って頂きたい。あと、動作不良に関しては、(必ずやわらかい口調で)メールして欲しい。どんどん直していくつもりだ(つもり)。
 また、リアルタイムに高機能な画像処理を行うCPU使い放題バージョンも開発中である。こちらもご意見募集中である。

2000-02-06[n年前へ]

パノラマ写真と画像処理 Pt.1 

パノラマ写真を実感する

 「パノラマ」という言葉は何故か大正ロマンを感じさせる。かつて、流行ったパノラマ館や江戸川乱歩の「パノラマ島奇譚」という言葉がそういったものを連想させるのだろう。私も自分で写真の現像・焼き付けをしていた頃は、フィルム一本まるまる使ってベタ焼きでパノラマ写真を撮るのが好きだった。

 そういう癖は持ち歩くカメラが「写るんです」と「デジカメ」へ変化した今でも変わらない。例えば、

の時に撮ったこの写真もそうである。
1999年12月の万座温泉

 そしてまた、次に示す写真もそうだ。これは1999年夏頃の早朝に箱根の湖尻で撮影したものである。360度のパノラマを撮影したものだ。

1999年夏頃の早朝に箱根の湖尻で撮影したもの

 観光に行った先で撮影したと思われるかもしれないが、残念ながら違う。出勤途中に撮影したものである。豊かな自然がありすぎて、涙が出そうである。

 パノラマ写真としては、こういう景色を撮ったものも良いが、人が写っているものも良い。私の勤務先がこの大自然の中に移転してくる前、都会の中にあった頃に居室で撮ったパノラマ写真などはとても面白い。窓の向こうにはビルが見えたり、周りに写っている人ですでに退職した人が何人もいたりして、涙無しには見られない。

 もちろん、こういった写真はパノラマ写真で楽しむのも良いが、もっと実感できるものに加工しても楽しい。私がかつて都会の居室で撮影したものは、当時はAppleのQuicktimeVRのムービーファイルに変換して遊んでいた。今はもうない居室の中をグリグリ動かすのはホロ哀しいものがあり、とても味わい深かった。

 ところで、WEB上でそういうパノラマのVRファイルを見せるにはどうしたら良いだろうか?もちろん、AppleのQuicktimeVRを用いれば良いわけではあるが、プラグインが必要である。私はQuicktimeは好きであるが、ブラウザーのQuicktimeのプラグインは嫌いである。WEBを眺めているときに、「Quicktimeのアップグレードはいかがでしょう?」というダイアログが出ると、少しムッとしてしまう。そこで、Javaを使うことにした。いや、もちろんJavaをサポートしていないブラウザーもたくさんあるが、こちらの方がまだ好きなのである。

 そのようなパノラマのVRを実現するJavaアプレットには、例えば

といったものがある。今回は先に示した「1999年夏頃の早朝に箱根の湖尻で撮影したパノラマ写真」を"Panoramania"を使って実感してみることにする。かなり重い(私のPCではかなりしんどいようである)Japaアプレットであるが、それを以下に示す。箱根の朝を実感して頂きたい。マウスでグリグリと言いたい所であるが、これがサクサク動くPCなんてそんなにあるのだろうか?
「1999年夏頃の早朝に箱根の湖尻で撮影したパノラマ写真 VR」





 さて、ここまでは単なる前振りである。本題は、実はこれから始まる。先日このようなメールを頂いた。

 私はWindowsを使っているのですが、AppleのQuicktimeVRに興味があって、QuicktimeVRのパノラマ・ムービーを作っています。しかし、素材となる画像の作成に四苦八苦しております。ご承知の通り、
    1. ライカ版カメラに24ミリ広角レンズをつけて、
    2. 三脚にパノラマヘッドをつけて、ぐるりと周囲を12枚撮りして、
    3. 現像、プリントし、
    4. スキャニングして、ステッチャソフトでレンダリングし、
    5. それをMacintosh上でMake-QTVR-Panoramaにドロップして、
    ようやく1枚のパノラマmovファイルができるわけですが、最初のカメラ撮影で、タイムラグのため、歩行者など、動きのあるものがうまくパノラマ化できません。

     その場合には、スリットスキャンカメラを入手し、それをカラープリントする設備を準備すればいいのでしょうけど、高価です。

     そこで、

    1. 8ミリビデオに広角レンズを付け、
    2. 90度横倒しにして、10秒程度で1回転するようにステッピングモーターで駆動するパノラマヘッド(自作)に乗せ、
    3. 高速シャッター撮影し、
    4. マックのAV機能で円周12枚の静止画を取り出
    5. し、
    パノラマ化しています。

     長々と分かりにくいことを書きましたが、要は、「マックで動く電子スリットスキャンソフト」をなんとか作っていただけないでしょうか?もし、そのようなソフトがあれば、

    1. 8ミリビデオを横倒しにして、
    2. モーター回転するヘッドでぐるりと360度撮影し、
    3. その撮影した動画ファイルの、各フレームから走査線にして数本分を抽出し(インターレースで256本のうちセンター128本目の前後数本の走査線分)、
    4. それを貯めて1枚のjpgファイルにする、
    5. そのJPEG画像をMakeQTVRPanoramaの入力にして、パノラマムービーを作る、
    ということが簡単にできるようになります。こういうソフトがあれば、だれでも、旅先などで、ビデオを横倒しに持ってぐるりとスピンするだけで、あとはAVマックとパノラマ化ソフトで簡単にQuicktimeVRパノラマファイルが作れるようになると思うのですが…
 これはとても楽しい話である。しかもとても簡単なことなので、遊んでみることにした。

 まずは、答えを先に書いてしまおう。私が作らなくても、

  • NIH-Image (MacOS)
  • ScionImagePC (Windows)
というソフトがある。これらのソフトであれば、上に書かれている
  • 複数画像(動画)からの走査線抽出
は実現できる(ファイルサイズが少々不安だが)。特に、NIH-Imageであれば動画ファイルを読み込むことができる。つまり、Mac上で簡単に処理ができるのである(と、書いた。しかし、後日気づいたが256色の画像でなければ、駄目だった。どうしよう?)。ScionImagePCはNIH-ImageをWindows向けにポーティングしたものである。Macを科学技術に使う人であれば、NIH-Imageを知らない人はいないだろう。

 ScionImagePCの動作画面を以下に示す。NIH-Imageとほぼ同じである。

ScionImagePCの動作画面

 これらのソフトのStack-Slice機能を用いれば「複数画像(動画)からの走査線抽出」ができる。その使用例と、その面白い座標軸変換について考えてみたい。しかし、このページは少々重くなってきた。まして、走査線の抽出の話は使用画像が多くならざるをえない。そこで、次回、詳しく使用例を紹介することにする。よく、次回といったまま数ヶ月経つことがあるが、今回は大丈夫である。少なくとも数日後には登場することと思う(多分)。

 あれっ、ここまで書いてからinfoseekで検索すると、

なんてソフトがある。しまった、先に検索すればよかった。けど、まぁいいか。これはWindows上のソフトのようだし。とりあえず、次回へ続く。

2002-03-24[n年前へ]

パズルのカケラ 

ジグゾーパズル的プラグインを作る

  hirax.netが誇る超手動検索エンジンぐるぐる(旅に出たっきり戻ってこないが)宛に、先日こんな依頼が届いた。
 大きな写真を20ピクセル四方くらいで分割して、それをタイルのように並び替えてくれて、分割したカケラを自分であとで自由に移動できたり、個別に画像調整もできて…、そんなPhotoshopのプラグインが欲しいので探して下さい。 もしなかったら、作ってくれてもいいです。
 今回のような、こんな具体的な依頼であれば、何を探したら良いか実にわかりやすい。よくある「ぐるぐる宛のメッセージ」はあまりに短くて、何を探したら良いのかぐるぐるが困ることも多い。何しろ、「愛」とか「幸せ」とか一言で言われても超手動なので困ってしまうのである。「愛」や「幸せ」を探してくれって言われても、そんなのこっちが知りたいつーのー、ってこぼしたくなるのである。まれに「バスト90cmでDカップ超の巨乳」というような超具体的な検索キーワードが送られてくることもあるのだけれど、そんなこと言われてもなー、とぐるぐるは頭を抱えるばかりなのである。

 それはさておき、今回の依頼も実に判りやすいのだが、もしなかったら作ってくれてもいいです、とは優しい口調でとんでもない依頼だ。いや、実際のところ依頼というよりほとんど命令である。人を(いや違った、ぐるぐるを)ドラえもんか何かと間違えているんじゃないかー、と聞き返したくなったりするのである。

 しかし、これまで「できるかな?」では「たくさんのカケラを並べて、一枚の絵にするモザイク」で遊んでみることが多かったが、そんなこれまでとは逆のアプローチ、「一枚の絵をたくさんのカケラにばらばらにしてみる」という、まるで一枚の絵をジグゾーパズルのピースに分解してしまうような遊びをしてみるのも面白いかも、ともふと思った。そこで、今回はこの依頼に応えてそんなPhotoshopのジグゾーパズル的プラグインを作ってみることにした。名付けて、Midinette(= 女性店員,、針子さん)プラグインである。「糸のこで切り抜いたパズル」はJjigsawpuzzleだけれど、そんなジグゾーパズルを切り張りしたり繋げあわせたりする賢い女性店員・針子さんという気持ちを込めてみた。
 

 さて、普通なら、Photoshopのプラグインと言えば、普通はフィルター・プラグインなのだろうけれど、今回は「分割したカケラを後で動かしたい」という注文がついているので、アクション・プラグイン(通常のアクションではなくて、あくまでもプラグイン)で適当にちょちょいと作ってみることにした。まずは、このプラグインを使った場合のサンプル画像を下に示してみる。
 

Midinetteの処理画面をちょっとだけ加工したもの
オリジナル画像
変換画像

 アクションプラグインはPhotoshop5.0以降に導入されたものであるが、今回のプラグインは6.0以降の機能も使っているので、Photoshop56.0以降が動作環境となる。また、Windows2000でしか動作チェックしていないので、もしかしたらその他の環境では動かない場合があるかもしれない。その場合はその旨知らせてもらえれば、コンパイルし直したものを作る予定だ。で、いつもと同じようにアルファ版のものをここに置いておく。これをPhotoshopのPlug-Insディレクトリに置けば、ファイル→自動作業からMidinetteが使えるようになる。


 この手のジグゾーパズル系のプラグインとしては他にAVBros. Puzzle Proなどがあるが、ピースの形状の自然さはともかく、各ピースを(それぞれレイヤーに変換することで)自由に後で動かすことができるという点で今回のこのプラグインは面白いのではないか、と思う。

 ちなみに、下の画面がMidinetteのダイアログである。現時点で設定可能なパラメータの内容は

  • Horizontal Division  : 横方向の分割数
  • Vertical Division    : 縦方向の分割数
  • Inclination          :長方形からの変形量 (3〜5)
  • JigsawPuzzle         : 丸い突起部の大きさ(6〜7)
  • Scattering          : ピースをバラバラにするかどうか
  • LayerEffects         : ピースの立体効果をつけるかどうか
となっている。Midinetteは背景レイヤーの画像を各ピースに分解して、そのピースに対してそれぞれレイヤーを作成して立体効果を付加したりする、という仕組みになっている。だから、各ピースの表示・非表示などは各レイヤーの設定を変えてやれば良いわけである。また、オリジナル画像は背景レイヤーにそのまま保存されている。だから、上のサンプル画像の場合は、Midinetteで変換をした後に、背景レイヤーをグレイ化して、あといくつかのピースを非表示にしたり回転させたりしてみたのである。
 
Midinetteのダイアログ

 パラメータを変えると、ピースの形がある程度変えられるので例えば、こんな風にもなる。ここでは各ピースをバラバラにしている(ちゃんとバラバラにしていないのはご愛敬だが…)。
 

Midinetteの処理画面をちょっとだけ加工したもの パート2

 ところで、このプラグインが作るパズルのカケラは、本来のジグソーパズルのカケラの形とは違う。本来、ジグゾーパズルでは各のピースはどれも違う形だけれど、このプラグインではどれも同じ形になる。今回のプラグインでは、それぞれのカケラ、ピースを並べ替えたあとでも、どのピースも形の上ではきちんとはまって、きれいに一枚の絵になる方が便利だろうと考えてどのピースも同じ形にしてみた。

 だから、今回のMidinetteが作るパズルのカケラはどの場所に置いてもきちんとはまってしまう。だから
どのピースをどこに置くかはユーザー次第だ。もちろん、元画像がちゃんと再現するように並べてみても良いけれど、それでは元画像そのままだ。それは全然面白くない。せっかくばらばらのカケラにする意味がない。やっぱり、ここは自分の好みにまかせて、それぞれのパズルのカケラを好きな場所に置くべきだろう。

 一旦、元の画像を頼りにならないとなってしまえば、あとはもう別に一つの答えがあるわけじゃないし、もう気の向くまま風の向くまま、「自分の感覚」だけを頼りにして、色々いじればきっと面白いはずだ。頭の中で色んな思考のカケラを並べてみるように、このMidinetteでパズルのカケラを自分の好きなように並べて遊んでみてもらえたら、とてもうれしい。 byぐるぐる
 

2002-03-29[n年前へ]

pluginAboutの6.0の不具合 

 Adobe dialog managerのpluginAboutでのサイズ自動調整が動かない。動かないモノはしょうがないから、自分でダイアログを作る。というわけで、Win, Mac共通コードは減るのだ。



■Powered by yagm.net