Matlab 将位图转换为二进制值

Matlab 将位图转换为二进制值,matlab,bitmap,binary,Matlab,Bitmap,Binary,我想将位图文件转换成由二进制值组成的数组;但是,当我使用此脚本时: arr=imread('sample.bmp'); arrBin=cell(1140,912,3); for i=1:1140 for j=1:912 for k=1:3 arrBin(i,j,k)=dec2bin(arr(i,j,k)); end; end; end; 调试信息显示: Conversion to cell from char is not

我想将位图文件转换成由二进制值组成的数组;但是,当我使用此脚本时:

arr=imread('sample.bmp');
arrBin=cell(1140,912,3);
for i=1:1140
    for j=1:912
        for k=1:3
            arrBin(i,j,k)=dec2bin(arr(i,j,k));
        end;
    end;
end;
调试信息显示:

Conversion to cell from char is not possible.

Error in imgProc (line 9)
            arrBin(i,j,k)=dec2bin(arr(i,j,k));

>> 
有人吗?提前感谢。

您需要与
{}
一起使用,以便将字符串值从放入单元格数组
arrBin
,如下所示:

arrBin{i,j,k} = dec2bin(arr(i,j,k));

在大图像上,您的解决方案将非常慢。你最好这样做:

I=imread('sample.bmp');
A=dec2bin(I,8);%8bit
% this is how you index to array
i=5;j=35;ch=2;
pixel=A(sub2ind(size(I),i,j,ch),:)

多谢各位,;竖起大拇指,谢谢!