我正在为Matlab中的图像位平面切片编写代码,并将所有8个图像都空白。这可能是什么问题。我尝试将原始图像转换为uint8格式,但它也没有帮助。代码如下:
%BIT PLANE SLICING
clear all;
i=imread('C:\Users\divyansh dwivedi\Pictures\img1.jpg');
i=uint8(i);
i=imresize(i,[256,256]);
x=size(i);
z=zeros(x(1),x(2));
z=uint8(z);
imshow(i)
figure;
for j=1:8
z=bitget(i,j);
figure;
imshow(z);
end
答案 0 :(得分:2)
我使用函数imagesc
对代码进行了更改,以显示图像,使用图片的颜色范围缩放图像,并定义颜色贴图(colormap
),这种情况gray
%BIT PLANE SLICING
clear all;
i=imread('C:\Users\divyansh dwivedi\Pictures\img1.jpg');
i=uint8(i);
i=imresize(i,[256,256]);
x=size(i);
z=zeros(x(1),x(2));
z=uint8(z);
imshow(i)
figure;
for j=1:8
z=bitget(i,j);
figure;
% Using a function imagesc to scales the image to the image color range
imagesc(z); colormap(gray);
end
您可以在MatLab文档中获得有关imagesc
和imagesc的{{1}}函数和颜色贴图的更多信息。