灰度直方图及直方图均衡化

灰度直方图及直方图均衡化一、实验目的 1.直方图的显示 2.计算并绘制图像直方图 3.直方图的均衡化 二、实验内容 灰度直方图用于显示图像的灰度值分布情况,是数字图像处理中最简单和最实用的工具。 MATLAB中提供了专门绘制

文章和代码以及样例图片等相关资源,已经归档至【Github仓库:digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。

一、实验目的

1.直方图的显示

2.计算并绘制图像直方图

3.直方图的均衡化

二、实验内容

灰度直方图用于显示图像的灰度值分布情况,是数字图像处理中最简单和最实用的工具。

MATLAB中提供了专门绘制直方图的函数 imhist()

1.直方图的显示

imshow('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif');
title('原图像')
% 显示原图像
A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
figure;
imhist(A);
title('对应直方图')

2.计算并绘制图像直方图

A:用 bar 函数显示

A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
h=imhist(A);
h1=h(1:10:256);
horz=1:10:256;
bar(horz,h1)% 用bar 函数显示
axis([0 255 0 15000])% 设置水平轴和垂直轴的最大值和最小值
set(gca,'xtick',0:50:255)
set(gca,'xtick',0:2000:15000)

B:用 stem 函数显示

A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
h=imhist(A);
h1=h(1:10:256);
horz=1:10:256;
stem(horz,h1,'fill')% 用stem 函数显示
axis([0 255 0 15000])% 设置水平轴和垂直轴的最大值和最小值
set(gca,'xtick',[0:50:255])
set(gca,'xtick',[0:2000:15000])

C:用 plot 函数显示

A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
h=imhist(A);
plot(h)
axis([0 255 0 15000])% 设置水平轴和垂直轴的最大值和最小值
set(gca,'xtick',[0:50:255])
set(gca,'xtick',[0:2000:15000])

3.直方图均衡化

imshow('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif');
title('原图像')
I=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
figure;
imhist(I),title('对应直方图')
% 从得到的直方图可以看出,图像的对比度很低,灰度级集中在70-160 范围内,如果只取
% 这个范围内的灰度,并扩展到[0,255],则会明显增强图像对比度
J=imadjust(I,[70/255 160/255],[]);
figure;imshow(J),title('经灰度级调整后的图')
figure;imhist(J),title('灰度级调整后的直方图')
% MATLAB 还提供了histeq 函数(自动直方图均衡化)
K=histeq(I);
figure;
imshow(K),title('经直方图均衡化后的图')
figure;
imhist(K),title('直方图均衡化后的直方图')

今天的文章灰度直方图及直方图均衡化分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/13473.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注