• ベストアンサー

画像の輝度算出について

36bitのカラーカメラで撮影した画像(TIFFファイル)をR画像のみ取り出し、Photoshopでグレースケールに変換しrawファイルで保存、Compaq Fortranで各ピクセルの輝度値を算出すると8bitになってしまいます。 処理のどの部分がおかしいのかわかりません。 原因になりそうな箇所が分かる方は教えて頂けないでしょうか。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.3

とりあえず質問者さんのやろうとしていることは結構専門的だといっておきます。 まず、Rのみの12bitの件ですが、これはグレースケールに変換という時点で間違っています。 正しくはトーンカーブでBとG成分をそれぞれ0にします。 画面が赤っぽくなってくるので、それで確認できます。 それをRAWなりTIFFなりで保存すればいいです。 (8bitのjpegではこれでうまくいきましたが12bit画像は未確認です) しかし、Fortanで直接画像を読み込めるのですよね? なら、わざわざPhotoshopで加工する必要性もないように思うのですが。 dibというのは各色8bit、いわゆるbitmapのことです。 標準の関数ではモニタ上に表示する分しかサポートしないので8bitしか扱えないと思います。 (Compaq Fortranとかは見たこともないので詳細は分かりません) 12bitの画像を読み込むにはいわゆる外部関数(ライブラリ)が必要なのですが、 上記の理由で私では分かりかねます。悪しからず。

tanzou
質問者

お礼

親切な回答ありがとうございました。 漠然とですが、理解できました。

その他の回答 (2)

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

photoshopのグレースケールは8bitか16bitになります。 グレースケールというのはRGB各bitが同じ値、すなわち灰色です。 ですから8bitで実質RGB24bit、16bitではRGB48bit程度です。 rawファイルで保存というのもよく分かりません。 EPSで保存したということでしょうか? Jpegやbitmapでは強制的に各色8bitに丸められます。                    ~~~~ Fortranを使っているとありますが、ライブラリ関数はdib以上を扱えますか? そして一番肝心なことは結果がどのようになっていないとおかしいのかです? ここがよく分かりませんので、上記で参考にならない場合は補足して頂けると 他の回答者の参考にもなりましょう。

tanzou
質問者

補足

すみません、説明不足でした。 処理後の結果を12bitのR画像にしたいのです。 rawファイルで保存するのは、rawファイルでないとfortranで処理できないと聞いたからなんです。ですので、Photoshopで保存する時に、拡張子を汎用フォーマット(RAW)にしています。 ライブラリ関数はdib以上を扱えるかどうかは、何を見て確認するのでしょうか。ご教授して頂けると幸いです。

  • hs001120
  • ベストアンサー率60% (473/788)
回答No.1

多分 >Photoshopでグレースケールに変換し でしょう。

参考URL:
http://ofo.jp/osakana/cgtips/grayscale.phtml
tanzou
質問者

お礼

参考になりました。 ありがとうございました。