为什么Matlab中的位平面切片程序图像显示为黑色?

时间:2013-04-28 08:04:19

标签: matlab image-processing

我正在为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

1 个答案:

答案 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文档中获得有关imagescimagesc的{{1}}函数和颜色贴图的更多信息。