【问题标题】:Convert bitmap to binary values将位图转换为二进制值
【发布时间】:2018-01-29 00:38:59
【问题描述】:

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

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));

>> 

有人吗?提前致谢。

【问题讨论】:

    标签: matlab bitmap binary


    【解决方案1】:

    您的解决方案在处理大图像时会非常缓慢。你最好这样做:

    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),:)
    

    【讨论】:

    • 点赞。谢谢!
    【解决方案2】:

    您需要将content indexing{} 结合使用,以便将dec2bin 中的字符串值放入您的元胞数组arrBin,如下所示:

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

    【讨论】:

    • 非常感谢;
    猜你喜欢
    • 2012-02-07
    • 2017-09-27
    • 2012-01-06
    • 1970-01-01
    • 2013-12-26
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    相关资源
    最近更新 更多