0

インデックス付き画像のカラー パレットを抽出しました。256x3 マトリックスで、パレットを 512x3 マトリックスに複製し、各半分に値を複製しました。私がやりたいのはステガノグラフィーです。シークレットメッセージビットが0のときはパレットの半分を参照し、それ以外は残りの半分を参照したい。このようにして、インデックス付き画像でロスレス ステガノグラフィを取得できます。

しかし、新しいカラー マップを使用して画像をビットマップとして保存しようとすると、bmp/gif ファイルはカラー パレットに 256 を超えるエントリを含めることはできないと表示されます。

[im,map]=imread('mandril_color.gif');
nmap=zeros(512,3);
nmap(1:256,1:3)=map(1:256,1:3);
nmap(257:512,1:3)=map(1:256,1:3);
imwrite(im,nmap,'palette1.gif');

上記は、拡張パレットを使用して画像を保存するかどうかをテストするための私のコードでした..残念ながら、そうではありませんでした。この問題を回避し、256 を超える値を持つカスタム パレットを作成するにはどうすればよいですか?

4

1 に答える 1

2

.bmp および .gif の標準では、長さ 256 のカラー パレットのみがサポートされています。これを回避する方法はありません。

256 を超えるエントリを持つカラー パレットを使用するには、.jpg などを使用できます。そうしないと、メッセージがスクランブルされるため、必ず可逆圧縮を選択してください。

于 2012-07-02T13:12:42.567 に答える