Image Matlab:加载索引图像
我想在matlab中读取一幅图像,并将其转换为索引图像 这是我的密码:Image Matlab:加载索引图像,image,matlab,rgb,indexed,Image,Matlab,Rgb,Indexed,我想在matlab中读取一幅图像,并将其转换为索引图像 这是我的密码: [I map] = imread('image.tif'); I = rgb2ind(I, map); figure(1); imagesc(I);axis('equal'); 当我刚刚阅读图像时,它看起来不错,但它是一个rgb图像。然后我将其转换为索引图像,我有以下图片: 这段代码有什么问题?您的语法有点错误。这应该起作用: [I, map] = imread('autumn.tif'); [I, map] = rg
[I map] = imread('image.tif');
I = rgb2ind(I, map);
figure(1);
imagesc(I);axis('equal');
当我刚刚阅读图像时,它看起来不错,但它是一个rgb图像。然后我将其转换为索引图像,我有以下图片:
这段代码有什么问题?您的语法有点错误。这应该起作用:
[I, map] = imread('autumn.tif');
[I, map] = rgb2ind(I, map);
figure(1);
image(I);
colormap(map);
axis('equal');
请参阅的文档。您的输出是由于滥用matlab函数造成的
%read a non-indexed image. I is your RGB image, map is empty
[I,map] = imread('board.tif');
%rgb2ind has two output arguments, get both, otherwise your unchanged code
[I2,map2] = rgb2ind(I, map);
%Now I2 is a indexed image and map2 the corresponding map
现在显示索引图像I2,而不应用颜色贴图:
imagesc(I2)
您的图像包含值1:n,并且colormap jet已激活,因此您将获得彩虹
使用地图可以显示正确的图像:
imagesc(I2)
colormap(map2)
或显示I,即原始RGB图像
imagesc(I)
图像有什么问题?这不是原始图像。原始图像是一个人的照片,这对问题来说是非常重要的信息。你应该添加原始图像。这是我的照片,所以我不想发布它。我向你保证,这与你在上面看到的彩虹无关。它不是很彩色,很暗,但也不是黑白的。