2002-09-22[n年前へ]
■PluginDLLから外部DLLを呼ぶ
photoshopプラグインはcdeclでないと動かない?で、作ってるDLLはstdcall呼び出し限定。そのせいなのかなんなのか上手く動かない。関数毎の指定も上手く動かない…。きっとホントは簡単なのだろうけど…。
というわけで、値の受け渡しはメモリマップドファイルを使うことにした。どう考えても、とても間抜けな作り方なんだろうな。
何はともあれ、PluginDLLから外部DLLを呼ぶようにしておけばずいぶん楽になることも多いかな、と。いや、簡単に言えばC++BuilderでPhotoshopのプラグインが作れる、だけなんだけど。(リンク)(リンク)
2002-09-24[n年前へ]
■Photoshop表計算プラグイン
Photoshopの選択領域を表計算ソフト方式で表示して、編集するプラグイン。画像の値をExcelで表示したり、Excelで作ったパターンをPhotoshopで表示したりすることができる。セルからのコピー、セルへのコピー、セルへの直接代入もできる。ちなみに、領域選択とセル直接入力はセルウィンドーの下部(ボタンの右の辺とか)をクリックすると切り替わる。また、データをCSV形式で出力することもできる。
プレビュー画面で、選択領域確認後、OKを押すとセル画面が表示される。そこで、色々作業をした後に、もし値をPhotoshopに反映したい時にはOKボタンを押し、そうでなければCancelボタンを押すこと。Photoshopへデータを反映させたいのでなければ、基本的にCancelボタンを押すべし。また、選択している一つのプレーン、もしくは最初のプレーン(RGBであればB)のみがセルへ出力される。Gray,RGB,CMYK,Lab…などに対応。もちろん、8bit,16bit両方に対応。
CSVf.8BFはプラグイン・ディレクトリのフィルタ・ディレクトリの中におく。photoshopDLL.dllはPhotoshopのアプリケーションがあるディレクトリの中に直接おくこと。画像解析やなんかをする人には必須アイテムになるのではないか、と。が、言うまでもなく作ったばかりなので、動作報告・非動作報告お待ちしております。
というわけで、C++BuilderとPhotoshopの連携もできるようになったので、これから続々とプラグイン作成開始、です。ちなみに、開発日記も別途公開、されるかも。されないかも。(リンク)(リンク)
2002-09-26[n年前へ]
■オッパイ星人の力学 「胸の谷間」編
新兵器「巨乳ビジョンLight」
一見平和に見える島国でも色々な敵が潜入してくる。時には高速艇で日本海へ、そしてまた時には飛行機に乗ってディズニーランドへ、そして時には未確認飛行物体UFOに乗って色んな異星人達が日本へ潜入してくる。ワタシは、そんな異星人達の一派、オッパイ星人達と日夜戦っているのである。「オッパイ星人に狙われそうな可哀相な子羊(巨乳)」達をワタシはいち早く見つけだし、オッパイ星人達から可愛そうな子羊達を守るために、ワタシは日夜巨乳(あるいは微乳の)子羊達を見守っている。「オッパイ星人に狙われそうな巨乳はいないか~、揺れる胸はいないか~」と東北地方に住むナマハゲのように、人知れずパトロールを続けているのだ。
そんな毎日の戦いの中で、かつてワタシは「見るバスト全ての形を明らかにしてしまう恐るべき最終兵器- 巨乳ビジョン -」を開発したのだった。しかし、左右のステレオビジョンでターゲットにロックインして激写し、撮影された複数画像からステレオマッチング法でバストの形状を明らかにする巨乳ビジョンには大きな問題があったのである。二つのレンズが左右に並ぶ「巨乳ビジョン」の勇姿はどうみても異様なのであった。巨乳ビジョンを装着しfoたワタシの姿は明らかにヘンでアブナイやつなのである。恐るべき異星人-オッパイ星人-と日夜戦い続け、地球を守る正義の味方には決して見えないのであった。どうしたって「スケベな盗撮野郎」に間違えられてしまうのである。
世間で平和に暮らす愛すべき日本の人々がオッパイ星人の地球への襲来をちゃんと知っていて、日本全土に「オッパイ星人襲来」非常事態宣言でも流されていたとしたなら別なのであるけれど、一見平和に見える(実はそうでないのだが)この日本では「双眼レンズの異様なカメラ-巨乳ビジョン -」はなかなか使うことができないのであった。日夜地球を守る、人知れず人々の平和な生活を守るためには、つまりは人知れず「オッパイ星人に狙われそうな可哀相な子羊(巨乳)」達を見つけだすためには、異様な姿ではない巨乳ビジョンの新開発が欠かせなかったのである。決してヘンでアブナイやつ、ましてや「スケベな盗撮野郎」になんか間違えられたりしない「一見、普通のカメラ風の巨乳ビジョン」が必要なのであった。
そこで、ワタシが開発した「巨乳ビジョンの簡易バージョン、一見普通のデジタルカメラ風の巨乳ビジョン」が今回の話の主人公- 巨乳ビジョンLight - だ。画像処理ソフトPhotoshopに簡易バージョンPhotoshopLEがあるように、そしてモーニング娘。にプッチモニがあるように、最終兵器「巨乳ビジョン」の簡易バージョンが「巨乳ビジョンLight」なのである。双眼の異様な姿では決してなく、単なる普通のデジカメを使うことができる画像処理システム、それが「巨乳ビジョンLight」なのだ。
そもそも、初代「巨乳ビジョン」は左右の両眼視差を利用してバストの立体計測を行うメカニズムになっていた。「人間は両目で見ている画像の差を利用して、奥行き情報を知るわけであるが…」と前回の巨乳ビジョンの開発記で書いたように、角度を変えて配置した二つのカメラで撮影した二つの画像から、ステレオマッチング法を用いて奥行き情報(つまりはオッパイの高さ)を再構成していたのである。そのために「巨乳ビジョン」は双眼の異様な姿になってしまっていたのである。
しかし、考えてみれば人間が立体感を得る手がかりは両眼視差だけではないのである。立体感を得るためには、他にもいくつもの手がかりがある。そのいくつもある手がかりの一つが「陰影」である。女性の化粧が(男性の化粧においても)多くの場合鼻を高く見せたりするために、鼻周りの「陰影」を強調したりするように、「陰影」は立体情報を得るための大きな手段なのである。例えば、下の二つの図形、「陰影」がある場合と「陰影」がない場合を比べてみれば、どちらがハッキリと立体感を得られるかは明らかだろう。そう、左側の「陰影」がある場合は見事なまでの半円状のたわわな巨乳形状を感じとることができるのに対し、右側の「陰影」が無い場合ではそんな官能的な形状を感じ取ることはできず、むしろ真っ平らに見えるに違いないのである。実は全く同じ形状であるにもかかわらず、陰影の有り無しの違いだけで「巨乳」と「クレーター」の差になってしまうのである。
こんな風に、「陰影」がある場合のたわわな巨乳形状を見れば一目瞭然なように、「陰影」による立体感が「オッパイの形状認識」に及ぼす影響はとても大きいのである。その代表的な例が「胸の陰影が描き出す胸の谷間」である。試しに「胸の谷間」でGoogle検索(おこちゃまは禁止)をして入手した典型的な「胸の谷間」画像を眺めてみれば、そんな「陰影」によるオッパイ形状認識に及ぼす影響の偉大さを感じ取ることができるハズだ。
実は、今回の主役「巨乳ビジョンLight」はこの「陰影」を手がかりにオッパイの形状認識を行うのである。「光」が描き出す胸の谷間の陰影、その「光=Light」による微妙な陰影を手がかりに「巨乳ビジョンLight」は見るバスト全ての形、特に胸の谷間の立体形状を明らかにするのである。そう、「巨乳ビジョンLight」はLightの力を利用するが故に、「巨乳ビジョンLight」であって、単なる廉価版「巨乳ビジョン」ではないのである。「巨乳ビジョンLight」の名は体を表してるのである。光があるところに陰がある。山があるところに、谷がある。もしそこに巨山があるならばやはり巨大な谷ができ、巨大な陰ができる。それすなわち「胸の谷間」なのである。だから、その陰影を「巨乳ビジョンLight」で解析してやるならば、山谷の立体形状を知ることができるのだ。
というわけで、実際のところ「巨乳ビジョンLight」は基本的に普通のデジカメで撮影された画像に対して立体解析を行う単なる画像処理システムである。ワタシはそのシステムのために、まずはPhotoshopとExcelのような表計算ソフトを連携させるプラグインCSVf(制作日記)を作成した。
これは画像の値を表計算方式のセルで表示させ、その表示されたデータをExcelでグラフにしたりすることができる。つまりは、画像データを解析して、色々な表示方式で立体化することが素晴らしくも簡単にできるようになるのだ。もちろん、フリーのソフトウェアでもScionImagePCやImage Toolなどで似たようなことはできるが、表計算方式のセルで表示という点において、このCSVfは使い勝手の点で勝っているハズである。
そして、先ほど入手した「胸の谷間」画像に対して、試しに画像解析を行ってみることにしよう。何はともあれ、単に「胸の谷間」画像を立体化してみた場合の結果を眺めてみることにしよう。まずは、単純に画像の明るさを「バストの高さ」に直して、等高面グラフにしてみるのである。ちなみに、右肩上方から胸の谷間を覗くような方向に視線を設定して、三次元グラフに表示してみることにする。三次元グラフは色々な方向から眺めることができるが、やはり「胸の谷間」を覗く視線ベクトルは「右肩上方から斜め下60度」であるべきなのだ。
とはいえ、この「胸の谷間(点線で囲った矩形領域)」を単純にCSVfで立体グラフに直しても、下のグラフのようなわけの判らないグラフになってしまう。それはもちろん当たり前である。単純に「画像の明るさ」=「バストの高さ」になるわけがないのである。ほんの少しだけ、実写真の「胸の谷間」の高さ分布と似たような形状になってはいるが、これでは全くの別物であることは間違いない。よほどの想像力豊かな人であれば別だと思うが、少なくともワタシはこのグラフからでは「胸の谷間」を想像することはできないのである。
実は、「胸の谷間」画像の陰影からその立体形状を再構成するためには、この「胸の谷間」画像中の各ピクセルの「明るさ=輝度」を積分してやらなければならないのだ。詳しくは、次回以降のオッパイ星人の力学 「胸の谷間」の法線ベクトル編でそのベクトル解析理論と解法アルゴリズムを述べることとして、今回はまずはそんな作業を実際にしてみた例を次に示してみることにしたい。
下のグラフが、「胸の谷間」画像の輝度をXY方向に積分し、胸の谷間を再構成してみた結果である。つまりは、先ほどの「胸の谷間」画像から新兵器「巨乳ビジョンLight」を使うことで得られる胸の谷間の立体形状なのである。先ほどの実写真と比べてみれば、驚くほどにその立体形状・胸の谷間の形状を再現・解析することができていることが判るだろう。しかもExcel上ではこのグラフをぐりぐりぐりぐり・ぐるぐるぐると色んな方向から眺めることだってできるのである。これが、「巨乳ビジョンLight」システムの恐るべき能力なのだ。
このグラフを色々な角度から眺めれば眺めるほど、素晴らしく官能的な「胸の谷間」の立体形状を認識できていることがわかると思う。寄せて上げて胸の谷間がプレートテクトニクスのように作り出されているようす手に取るように実感できるハズだ。これが科学の力なのである。正義の武器廉価版「巨乳ビジョンLight」なのである。Pyramidパワー、ダウンジングGPS捜査、「思い込み」エネルギー、など他にも超科学の力で日夜戦いを続けている数多くの正義の味方達がいるが、ワタシもこの「巨乳ビジョンLight」を武器にオッパイ星人達との戦いを優位に進めたい、と思ったりするのである。
とはいえ、初代「巨乳ビジョン」が「バスト全ての形を明らかにしてしまう」というその恐るべき能力と、その異様な(ヘンな)姿を理由にワタシが人知れず封印してしまったように、実際のところこの「巨乳ビジョンLight」だって、見てくれは「単なるデジカメ+解析ソフトウェア」であるにしても、やってることは「スケベな盗撮野郎」と違うとは言い切れないのだ。いや、初代「巨乳ビジョン」の方はまだ少しは計測っぽい感じが残っていたけれど、単なるデジカメ画像で十分使用することができる今回の「巨乳ビジョンLight」ではもう全く持って盗撮野郎と同じなのである。いくら何でも、普通のデジカメで街行く女性のバストを(人知れず)撮影し、そのバストの形全てを(勝手に)明らかにしてしまうなんてことは、いかにワタシがオッパイ星人と戦う正義の味方といえども決して許されるわけはないのである。
というわけで、結局のところ「巨乳ビジョンLight」は実際に街中で使用できるわけもなく、オッパイ星人と日夜戦うhirax.netオッパイ戦隊の兵器庫にまたひとつ封印された禁断の武器が増えてしまったのである。今回のオッパイ星人対戦記はこんなふうにほろ哀しく終えるわけであるが、これに懲りずにこれからもワタシは強力兵器の開発を続けていくのである。それが、孤独な正義の戦いというものなのである。
2002-10-08[n年前へ]
2002-10-09[n年前へ]
■Photoshop表計算プラグイン"CSVf"
表示周りをバージョンアップ。といっても「りん」のコードを移しただけ。