MATLAB 图像直方图
Ammar Ali
2022年5月11日
本教程将讨论使用 Matlab 中的 imhist()
函数计算图像的直方图。
使用 MATLAB 中的 imhist()
函数计算图像的直方图
图像直方图显示了数字图像中像素颜色分布的图形表示。图像包含包含颜色值的像素。在直方图中,我们显示图像中存在的颜色值,以检查图像中颜色的分布。
例如,我们可以检查图像中哪种颜色丰富,哪种颜色很少出现。我们还可以使用图像直方图一目了然地发现噪声、剪裁值和背景。
我们可以使用 Matlab 的内置函数 imhist()
来计算图像的直方图。首先,我们必须使用 imread()
函数读取图像,然后将其传递给 imhist()
函数。imhist()
函数将返回直方图计数和箱的位置,它还将绘制直方图。
例如,让我们使用 imhist()
函数来计算和绘制图像的直方图。请参阅下面的代码。
I = imread('cat.jpg');
subplot(1,2,1)
imshow(I)
subplot(1,2,2)
imhist(I)
输出:
直方图显示图像中大量存在黑色。我们还可以指定 bin 的数量作为用于计算直方图的第二个参数。bin 的数量应该是一个正整数。
输入图像是任意维度的数值数组。如果图像是 single 或 double 类,像素值应该在 0 到 1 的范围内。如果值不在范围内,我们可以使用 rescale()
函数将值重新缩放到所需的范围.
在索引图像的情况下,我们还可以在 imhist()
函数中传递一个颜色图,用于计算图像的直方图。
Author: Ammar Ali