0

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

1 回答 1

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

您可以在有关imagesccolormapimagesc的 MatLab 文档中获得有关函数和颜色图的更多信息。

于 2013-12-21T02:11:52.830 回答