Matlab图像直方图对比:全黑与全白图像案例

这篇文章将展示如何使用Matlab读取两张图片(一张全黑,一张全白),并分别显示它们的直方图进行对比。

以下是完整的Matlab代码:

i1 = imread('1.png'); % 3x3的全黑图像
i2 = imread('2.png');  % 3x3的全白图像

figure;
imshow(i1);
title('图1:全黑图像');

figure;
imshow(i2);
title('图2:全白图像');

figure;
subplot(2, 2, 1);
imhist(i1);
xlim([-1, 256]);  % 修改 x 轴的范围
ylim([-inf, inf]);  % 修改 y 轴的范围
title('图1直方图');

subplot(2, 2, 2);
imhist(i2);
xlim([-1, 256]);  % 修改 x 轴的范围
ylim([-inf, inf]);  % 修改 y 轴的范围
title('图2直方图');

i1 = filter2(fspecial('average',3),i1);
i2 = filter2(fspecial('average',3),i2);

subplot(2, 2, 3);
imhist(i1);
xlim([-1, 256]);  % 修改 x 轴的范围
ylim([-inf, inf]);  % 修改 y 轴的范围
title('图1平滑后直方图');

subplot(2, 2, 4);
imhist(i2);
xlim([-1, 256]);  % 修改 x 轴的范围
ylim([-inf, inf]);  % 修改 y 轴的范围
title('图2平滑后直方图');

代码解析:

  1. 读取图像: 使用imread()函数读取名为'1.png'和'2.png'的两张图片,分别存储在变量i1i2中。
  2. 显示图像: 使用figure函数创建新的图像窗口,imshow函数显示图像,title函数添加标题。
  3. 绘制直方图: 使用subplot函数在一个窗口中创建2x2的子图。imhist函数用于绘制图像直方图,xlimylim函数分别用于设置x轴和y轴的显示范围。
  4. 图像平滑: 使用filter2函数对图像进行平滑处理,这里使用了3x3的均值滤波器。
  5. 绘制平滑后直方图: 再次使用imhist绘制平滑后的图像直方图,并进行相应的设置。

使用方法:

  1. 将上述代码复制到Matlab编辑器中。
  2. 将'1.png'替换为你的全黑图像文件,'2.png'替换为你的全白图像文件,确保这两个文件位于Matlab的当前工作目录下。
  3. 运行代码,你将看到两个图像以及它们的直方图。

总结:

通过这段代码,你可以清晰地看到全黑图像和全白图像的直方图区别,并学习如何使用Matlab进行基本的图像处理和分析。

Matlab图像直方图对比:全黑与全白图像案例

原文地址: https://www.cveoy.top/t/topic/bBq4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录