如何在matlab中将二进制数据转换为图像

时间:2014-06-12 07:18:28

标签: matlab

我使用以下代码将图片转换为二进制形式。

% lets suppose that the name of image file is caption with an extension .jpg
X=imread('caption.jpg');
g=reshape((dec2bin(typecast(X(:),'uint8'),8)-'0').',1,[])

运行代码后,我得到1xn类型为double的矩阵,有一系列的0和1' s。

现在我想将此矩阵g转换回图像。

转换后的图像应与caption.jpg类似。

1 个答案:

答案 0 :(得分:0)

您需要在初始图像中使用行数和列数来获取彩色图像。

rowsize = size(X,1);
colsize = size(X,2);
final_image = uint8(reshape(bi2de(reshape(g,8,[])',2,'left-msb'),rowsize,colsize,[]));
imwrite(final_image,'caption.jpg');