dcrawは各種のデジタルカメラのRAWデータを
・24bit PPM
・48bit PPM
・Adobe PSD
のいずれかに変換するツールで、ソースも
http://www.cybercom.net/~dcoffin/dcraw/
にて公開されています。
このソースで質問ですが、24bit PPMとして書き出す
write_ppm(FILE *)
関数で何か値をかけたりして色データを作っているようですが、
どうしてこういうことをするのですか?
RAWデータは各色データが8ビット以上あるので、どうにか8ビットに変換しているのですか?
カメラのことや、C言語についてもそこそこの知識しかないので分かりません。
分かる方、ご教授お願いします。
No.1ベストアンサー
- 回答日時:
第4チャネル=αチャネル(背景色の透過度比など)
をRGBに反映する処理をしている。
32bitだと、RGBA として、Aが持てるが、24bitだと
RGBのみになるため。
この回答への補足
mcWalkerさん、毎度回答ありがとうございます。
ということは、dcrawは16bit/channelのPPMをはき出せるのですが、そのときも同じようにしているのですか?16bit/channelのPPMの画素データを加工して、8bit/channelの画像と同じものを作ることはできますか?
もしお分かりでしたらご教授お願いします。
No.2
- 回答日時:
PPMのデータ構造にくわしくありませんが、
RGBの、例えば R だけに対して、Mac では 32 bits 引き当てたり、
5 bits にして、5+5+5+1(1は無駄)=16 bits RGB もあります。
1色当たりのビットが少ないと、表現範囲が減って絵が不自然になりますが、
論理的にはありえるわけです。
1色 8 bits なら、0 - 255 の値に比例計算しますので、
16 bits -> 8 bits も計算可能です。
但し、色の場合は、linear な比例計算では、発色がうまくない場合もあり、
いろいろの変換をやる場合があります。
RGB -> RGB の計算でなく、RGB -> HLS -> RGB と迂回する場合も
あるようです。
色の表現は、この他にも、まさに色々あります。少ないビットで、
元の絵を忠実に再現しようと苦心しているようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 一眼レフカメラ RAWデータ自体に追加データの保存ができるのですか? 「Imaging Edge」操作していたら 2 2022/08/05 11:44
- 写真 写真のRAWデータについて WindowsのパソコンでRAWデータをJPEGなどに一括でたくさんの画 1 2023/07/18 02:07
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- 画像編集・動画編集・音楽編集 ffmpegでppmからmp4を作成したい 1 2023/04/20 10:43
- 化学 化学について ppm→モル濃度に変換したいです。 Coの場合はどのようになりますか? ppmは1.1 2 2023/05/11 21:48
- 化学 炭酸水のppmに詳しい方に質問です。 温度が低いと炭酸水のppmは上がりますが、常温のペットボトルの 3 2023/03/13 01:59
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- Android(アンドロイド) TIFF画像を表示できるAndroidアプリを探してます。 3 2022/05/16 09:00
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- au(KDDI) auデータ移行の有料化について… 先日、auショップにてスマホ機種変更の見積もりを取りました。 他に 6 2022/04/28 14:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
O(n log n)について2
-
ExcelでPC(パソコン)によって...
-
VBAでミリ秒まで出力する方法
-
VBAでの割り算の余りの求め方
-
パソコンで階乗を計算
-
VB6.0での小数点の扱いについて
-
16進数 加算 減算 C言語
-
三角比の俯角の計算
-
有効数字について 以前質問をし...
-
VB6のFIX関数での誤差について
-
floatの有効桁数
-
三菱シーケンサ(Aシリーズ)で...
-
バタフライ演算
-
EXCELの関数"STDEV(標準偏差)"...
-
4096bitを95種類で表現すると何...
-
2進数の足し算(C言語)
-
10進数での「25」が2進数では「...
-
C#プログラミング、少数の取...
-
VB.net Double と...
-
べき指数の求め方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
O(n log n)について2
-
三角比の俯角の計算
-
c languageで 簡単な質問があ...
-
16進数 加算 減算 C言語
-
ExcelでPC(パソコン)によって...
-
VB.net Double と...
-
”/”を使わずに割り算したいんで...
-
ExcelのINT関数の計算結果がお...
-
有効数字について 以前質問をし...
-
floatの有効桁数
-
三菱シーケンサ(Aシリーズ)で...
-
距離から緯度経度を求める方法
-
VBAでミリ秒まで出力する方法
-
EXCELの関数"STDEV(標準偏差)"...
-
除算を使わずに10で割りたい。
-
C言語プログラミングにて、arct...
-
VB6.0での小数点の扱いについて
-
VBAでの割り算の余りの求め方
-
255の2の補数、B'00000001'が-...
-
変換指定子%22-16gの表示...
おすすめ情報