Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image Matlab:加载索引图像_Image_Matlab_Rgb_Indexed - Fatal编程技术网

Image 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

我想在matlab中读取一幅图像,并将其转换为索引图像

这是我的密码:

[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)

图像有什么问题?这不是原始图像。原始图像是一个人的照片,这对问题来说是非常重要的信息。你应该添加原始图像。这是我的照片,所以我不想发布它。我向你保证,这与你在上面看到的彩虹无关。它不是很彩色,很暗,但也不是黑白的。