将彩色图像转换为灰度(Matlab)

将彩色图像转换为灰度(Matlab),matlab,Matlab,我在将tif图像转换为灰度时遇到了一些问题,因此我可以查看像素值。我第一次使用代码 im = imread('etc.'); im = rgb2gray(im); imshow(im) 但它不显示灰度值——它显示的是RGB彩色地图。我还尝试加载彩色地图,然后转换地图 [im,map] = imread('etc.'); 但是地图是空的。任何指点都很感激-我在Matlab帮助中看不到任何有用的东西 编辑:imshow results我认为使用.tif格式必须使用命令 [X,map] = imr

我在将tif图像转换为灰度时遇到了一些问题,因此我可以查看像素值。我第一次使用代码

im = imread('etc.');
im = rgb2gray(im);
imshow(im)
但它不显示灰度值——它显示的是RGB彩色地图。我还尝试加载彩色地图,然后转换地图

[im,map] = imread('etc.');
但是地图是空的。任何指点都很感激-我在Matlab帮助中看不到任何有用的东西


编辑:imshow results

我认为使用.tif格式必须使用命令

[X,map] = imread('imagename.tif')
newmap = rgb2gray(map)
imshow(X,newmap)

链接到联机Matlab帮助,其中有一个确切的示例:

如果是rgb图像,则文件中不会有颜色贴图-仅当它是索引图像时

imshow
使用默认的颜色映射(
jet
)。如果您想要灰度贴图,则必须故意将
colormap设置为灰色

im = rgb2gray(imread('filename'));
imshow(im)
colormap gray

如果
map
为空(如本例中所示),将不会有多大帮助。我已经添加了imshow的结果。虽然它现在看起来是一个灰度值,但它似乎在0-1之间正常化。有没有办法将其更改为0-255?如果您的图像属于类
uint8
且缩放范围在0和255之间,
impixelinfo
应该显示整数。如果没有,问题是原始文件的比例为0:1(可能是
double
)。使用ImpixeInfo>parseInputs(第172行)时出错H是无效的图形句柄。impixelinfo中的错误(第62行)[h,父项]=parseInputs(varargin{:});如果是后者,你知道我将如何解决这个问题吗?你怎么称呼它?如果您使用
imshow
显示图像,然后在没有输入的情况下调用
impixelinfo
,它应该自动将自身与当前图形关联。要直接传递句柄,您可以执行类似
h=imshow(im)的操作;impixelinfo(h)
。帮助中应该有更多的例子。