Matlab imshow(f,G)函数使用时出现错误

imshow(f,G)使用时出现错误
① imshow(h,128)
错误使用 imshow>preParseInputs (line 467)
IMSHOW 语法无效。

出错 imshow (line 237)
varargin_translated = preParseInputs(varargin{:});

错误原因:
imshow已经是一种过时的用法了

imshow并没有办法按你想要的方式更改灰度级,你这里imshow(h,128)这句报错。

如果想要调整灰度级,建议使用histeq(h,128)

② histeq(h,128)时再次出现错误
错误使用 histeq
需要的 第 1 个输入, I, 应为 二维。

出错 histeq (line 77)
validateattributes(a,{‘uint8’,‘uint16’,‘double’,‘int16’,‘single’}, …

错误原因:
就像上面说的那样,这不是一个二维的灰度图像,而是一个三维的RGB图像*(很多医学图像就是这样,看起来像个灰度图像,背地里却是个RGB图像)*,参数不对

改为:
I = imread(‘lena.bmp’);
I0 = rgb2gray(I); %将RGB图像转化为灰度图像
histeq(I0,128); %改变图像灰度级

ps: histeq只是改变了显示时图像的灰度级,并没有真正地改变这个图像的灰度级。

你可能感兴趣的:(matlab数字图像处理笔记,matlab)