[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003194] Re: Using RGB image?



 乙部です。

ずいぶんたちまして、すみません。

しかも、まだFortran版に限ってのことです。
以下の件ですが、まず、3チャンネルの画像を表示することはできるようになり
ました。
R,G,B のそれぞれのチャンネルに 正規化(座標ではなく値が[0,1]に収まるとい
う意味です)
された同じ大きさの2次元配列を指定すると、足し算された画像が表示されます。

添付したのは Rが 真ん中 Gが右上 Bが左下 のあたりにピークをもつ
ガウス分布です。RGBはその合成になっているはずのものです。
ソースはパッケージ公開時にdemoに入れます。

まだソースの公開はしていません。エラー処理など、まだ残っている部分があり
ますので。
近々やります。

堀之内さんのご要望のうち カラーマップをいくつか用意するのは、ちょっとま
だいいアイデアが
ありません。力業でできるでしょうが、サチったときの処理とか面倒そうです。

ただ、かけ算とおっしゃっているのは実は HSV や HLS のような カラーを
色、明るさ、濃さ(鮮やかさ) で扱うような 色空間上では 足し算と言われて
いたのと同じで
独立量ですので、色空間への変換関数を いくつか用意すればすぐにできる例で
す。それについては
Math1 とかにでも追加しようと思っています。
下の堀之内さんの例に沿って言いますと、
この場合は、H に当たる量 である、物理量はカラーマップで指定できた方が良
さそうに思います。
Vは明るさなので微分量ですが、これがリニアでない場合もあるのでレベルを指
定できた方がいいですよね。
Sを使うことがあるかどうか、わからないですが、Vに準じていいかなと思ってい
ます。

ほかの演算の例は思いつくでしょうか?
直交していないカラーマップの合成にはあまり意味がないと思うのですが、
直交していても、軸が RGB から回転していることでうれしい例があるでしょうか。


> DCL のフルカラー対応,前から期待していました.
> フルカラー化の際には次の問題もぜひ一緒に解決していただきたいのです
> が,乙部さんのはそうなってますか.
>
> * 現在は gropn 後にカラーマップが切り替えられない.このため,
>   カラーマップ A とカラーマップ B でかいた図を重ねることが
>   できない.
>
> これ,以前からなんとかならないかなーと思ってます.これができる
> ようになると,例えば,虹色toneで気温を書いて,その上に白黒toneで雲や
> 降水を書いて重ねる(単純に上書きでも雲量が少なければ隙間だらけ
> なので気温分布も問題なくわかる)といったことができるようになります.
> あるいは,3次元の異なる断面に異なる物理量を違うカラーマップで
> だすとか.
>
> カラーマップというのはいわば U 座標で,256 等の色諧調はいわば
> V 座標というかデバイス座標なわけですから,「デバイス座標」を
> フルカラー拡張する(すなわち3変数化する)のに呼応して,
> U座標も拡張して,最大3つのパラメターに同時に対応できるようにする
> と良いと思います.例えば地形図をカラーで書くことを考えます.
> 標高に応じて色調をきめ,x 方向の傾きに応じて暗さを決めたいと
> します.この場合,パラメターとして,標高とx 方向の傾きの2つ
> を与えれば描画できるよう,色調に関するカラーマップと,暗さに
> 関するカラーマップのようなものの2つが設定できて,しかるべく
> 合成できると(この場合基本的に掛け算ですね).また,
> 3種の物理量をRGB値それぞれにマップするカラーマップを3つもって
> 合成するというのも実際に使われるパターンでしょう
> (この場合単純に足し算).
>
> まとめると,
>
> (1) カラーマップのようなものを最大3種まで同時に設定できるように
>     する.
> (2) 複数のカラーマップの合成の規則をいくつか用意する.
>
> そんなことは各自が自分でできるようにしろという考えもあるかも
> しれません.ただ,実際の利用においてはU座標からデバイス座標
> への変換は共通して行われることなので,それをサポートする
> 仕組みをライブラリが提供するのが良いと思います.
>
> ところで,linux 版はフルカラー時に PS ファイルも作れるんですよね?
> (Win版DCLは装置番号2で直接プリンターに出しちゃいますが)
>
>> 福岡大学の乙部です。
>>
>> とりあえず、どのような環境でご利用でしょうか?
>>
>> 標準的には無理なのですが、
>> Windows版でかつ、Fortran版はフルカラー出すことが可能です。
>> とはいっても原理的には書くことができますが、なめらかなグラデーション
>> トーンを書くようなイメージなので、写真を表示するような用途には
>> いまいち使いづらかったように思います。
>> また、Windows版なら内部で、仮想的なRGB画像に書き込んでから、
>> 転送という方法で表示していますので、それの関数を使う方法もあります。
>> その方法だったらCでも同じ描画ドライバなので呼び出せるはずですし、
>> Rubyからも呼べるのかな?と思います。
>>
>> Linux版も開発用リソースにはフルカラーパッケージ(UIPACK)が含まれている
>> ので、開発版を使えば無理矢理ですが表示できると思います。
>> でも、画像をそのまま表示するパッケージはないと思います。
>>
>> あっても良さそうなので、作ってみようかと思います。
>>
>>
>>> 一応自分で調べてみたつもりですが、出来るかどうか分からなかったので
>>> こちらに質問いたします。
>>>
>>> RGB それぞれの2次元データがあった場合、DCLでRGB画像を出力する
>>> 方法はあるのでしょうか。
>>> 目的は、衛星観測データの3バンド合成画像の出力です。
>>>
>>> カラーマップでは100色までなので、マップファイルを取り換えて
>>> 実現できる様な気もしますが、大変ですよね。
>>> 何か良い方法があればいいのですが、、、。
>>>
>>> このあたり、何か教えて頂けるとありがたいです。
>>> よろしくお願いいたします。
>


-- 
==================================================
福岡大学 理学部 地球圏科学教室
Otobe,Naohito (E-Mail:otobe@xxxxxxxxxxxxxx)
==================================================

Attachment: dcl001b.gif
Description: GIF image

Attachment: dcl001g.gif
Description: GIF image

Attachment: dcl001r.gif
Description: GIF image

Attachment: dcl001rgb.gif
Description: GIF image