ビットマップのグレースケール化 – プログラミング – Home

ビットマップのグレースケール化
 
通知
すべてクリア

[解決済] ビットマップのグレースケール化


ぱて
 ぱて
(@ぱて)
ゲスト
結合: 19年前
投稿: 3
Topic starter  

初めての質問になります。よろしくお願いします。

ビットマップの元画像データを変えないで
他のカラーパレットから参照してグレースケール化するにはどうすれば
良いでしょうか?
また、16bit以上のビットマップにカラーパレット情報を付加して
参照するようにできるのでしょうか?

VC++6.0 WinXP上で作成中です。


引用未解決
トピックタグ
島
 島
(@島)
ゲスト
結合: 22年前
投稿: 238
 

>ビットマップの元画像データを変えないで
>他のカラーパレットから参照してグレースケール化するにはどうすれば
>良いでしょうか?

>また、16bit以上のビットマップにカラーパレット情報を付加して
>参照するようにできるのでしょうか?

質問が二つありますが、どちらも内容が良く判りません
質問1では元画像のビットマップにはパレットがある前提なんでしょうか
質問2でのカラーパレット情報はどのようにして与えるのでしょうか?
Windows のDIB形式では8ビットカラー以下でないとパレットは存在できませんので
かなり意図が私には読み取れないのです


返信引用
ぱて
 ぱて
(@ぱて)
ゲスト
結合: 19年前
投稿: 3
Topic starter  

情報が少なくて大変もうしわけなかったです。
他のパレットを参照するのは
8bitカラーのビットマップです。
元のパレットからとってきたRGBを参照してYUV変換してやり
その輝度値を元に0~255まで並んだグレースケールのパレットから読み出し
たいのですが、元の格納データを書き換える方法しか分かりません。

DIB形式では8bit以下でしかパレットが存在できないのですか・・・
無理なことを聞いてすみませんでした。


返信引用
ぱて
 ぱて
(@ぱて)
ゲスト
結合: 19年前
投稿: 3
Topic starter  

失礼いたしました。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

#役に立たない情報ですが

> DIB形式では8bit以下でしかパレットが存在できないのですか・・・

16bit 以上の DIB でも、パレットを持つことはできます。
ただし、その場合でも各ピクセルは色データを表し、パレットインデックスではありま
せん。
要するに、持つことはできますが使われません。
じゃあ何故持っているのかというと、その画像を 8bit 以下に減色する際の指針を示す
ためです。
減色の際、そのパレットに含まれる色を使えば、元画像の再現率が高くなりますよ、と
いう程度のものでしかありません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました