在MATLAB中扩展索引图像的调色板

时间:2012-07-02 11:44:18

标签: matlab image-processing bitmap steganography color-palette

我提取了索引图像的调色板 - 一个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个值的自定义调色板?

1 个答案:

答案 0 :(得分:2)

.bmp和.gif的标准仅支持长度为256的调色板。没有办法解决这个问题。

要使用超过256个条目的调色板,您可以使用.jpg。确保选择无损压缩,否则,您的消息将被扰乱。