MATLAB 图像直方图

Ammar Ali 2022年5月11日
MATLAB 图像直方图

本教程将讨论使用 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
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - MATLAB Image