首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Matlab的bitget()选择8位平面。显示8位飞机?

使用Matlab的bitget()选择8位平面。显示8位飞机?
EN

Stack Overflow用户
提问于 2019-07-03 09:00:07
回答 2查看 187关注 0票数 2

我想让这段代码正常工作,但我找不出问题.

代码语言:javascript
运行
复制
img = imread('cameraman.tif');

for i = 1:8
    a{i}=bitget(img,i);
    subplot(2,4,i), imshow(logical(a{i})), title('Bit plane');
end

输出错误是

代码语言:javascript
运行
复制
Unable to perform assignment because brace indexing is not supported for variables of this type.
    Error in (line 15)
        a{i}=bitget(img,i);

你看到问题出在哪里了吗?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-03 13:56:00

错误消息表明a不支持大括号索引。这意味着,在运行代码之前,已经定义了a

要编写健壮的代码,您应该始终初始化所有变量。在本例中,在循环之前编写a = {};。这将确保a的类型是正确的。

更好的方法是预先分配a,使其具有适当的大小,这样就不会调整每个循环迭代的大小:

代码语言:javascript
运行
复制
a = cell(8,1);
票数 0
EN

Stack Overflow用户

发布于 2020-09-24 16:42:19

我使用MATLAB开发了8位平面,下面是我的代码供您参考:)

代码语言:javascript
运行
复制
row=512;  col=512;
file_raw = 'tif.raw';
fin=fopen(file_raw,'r');
I=fread(fin,row*col,'uint8=>uint8'); 
Z=reshape(I,row,col);
Z=Z';
fclose(fin);
figure('Name',file_raw,'NumberTitle','off');
subplot(3,3,1);
imshow(Z);
title(file_raw)  

B=zeros(size(I));
B1=bitset(B,1,bitget(I,1));
B2=bitset(B,2,bitget(I,2));
B3=bitset(B,3,bitget(I,3));
B4=bitset(B,4,bitget(I,4));
B5=bitset(B,5,bitget(I,5));
B6=bitset(B,6,bitget(I,6));
B7=bitset(B,7,bitget(I,7));
B8=bitset(B,8,bitget(I,8));
B = B1+B2+B3+B4+B5+B6+B7+B8;
B=uint8(B);
Br=reshape(B,row,col);
Br=Br';
subplot(3,3,2);
imshow(Br);
title('reconstruct');

C=255*bitget(I,5);
C=uint8(C);
Cr=reshape(C,row,col);
Cr=Cr';
subplot(3,3,3);
imshow(Cr);
title('bitget 5');

D=255*bitget(I, 8);
D=uint8(D);
Dr=reshape(D,row,col);
Dr=Dr';
subplot(3,3,4);
imshow(Dr);
title('bitget 8');

file_bprint = 'bprint7.raw';
fin=fopen(file_bprint,'r');
I=fread(fin,row*col,'uint8=>uint8'); 
E=reshape(I,row,col);
E=E';
fclose(fin);
subplot(3,3,5);
imshow(E);
title(file_bprint);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56866484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档