我想将位图文件转换为由二进制值组成的数组;但是当我使用这个脚本时:
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));
>>
有没有人?提前谢谢。
答案 0 :(得分:0)
您需要将content indexing与{}
一起使用才能将dec2bin
中的字符串值放入您的单元格数组arrBin
中,如下所示:
arrBin{i,j,k} = dec2bin(arr(i,j,k));
答案 1 :(得分:0)
你的解决方案在大图像上会非常慢。你最好做这样的事情:
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),:)