如何在 matlab imshow(I,n) 上设置灰度级?

How to set gray level on matlab imshow(I,n)?

我是 MATLAB 的新手,我注意到旧版本的 MATLAB 曾经有 imshow 命令允许第二个参数设置可以在输出中出现的灰度级数(在灰色图像的情况下)它类似于:: imshow(imagematrix,4) 仅显示 imagematrix.

的 4 个灰色级别(阴影)

我正在使用 Matlab R2014a,但此命令已不存在。我找不到替代方案,我收到的错误消息如下:

The syntax IMSHOW(I,N) has been removed.

如何使用 imshow 或替代方法设置灰度图像的显示级别?

非常感谢!

您可以尝试使用 histeq,它不仅会执行直方图均衡化以增强图像的对比度,而且您还可以指定可以在多少级别显示输出。将此视为 imshow(I,n),但具有增强图像的对比度的额外好处...因此您可以执行以下操作:

out = histeq(I, n);
imshow(out);

例如,使用作为 MATLAB 系统路径一部分的 cameraman.tif 并指定 n = 4,原始图像如下所示:

输出如下:

要检查图像中独特强度的总数,我们可以这样做:

>> unique(out(:))

ans =

    0
   85
  170
  255