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

简介: 灰度直方图及直方图均衡化
文章和代码以及样例图片等相关资源,已经归档至【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('直方图均衡化后的直方图')
目录
相关文章
|
24天前
|
计算机视觉
直方图均衡化
直方图均衡化是一种图像处理技术,通过改变图像灰度级分布,增强图像对比度。手动实现包括计算灰度直方图、像素总数、灰度分布频率、累积分布频率,然后归一化映射到新灰度级,最终得到增强对比度的图像。该方法适用于改善灰度集中或明暗对比不明显的图像,但全局处理可能导致背景干扰增强,丢失细节,且某些图像可能过度增强。局部直方图均衡化可作为改进方案。
12 1
|
7月前
|
计算机视觉 Python
直方图与直方图均衡化
直方图与直方图均衡化
|
18天前
|
计算机视觉
图像直方图
以下是内容摘要: 本文介绍了直方图在图像处理中的应用,包括图像增强和图像分割。直方图均衡化用于改善图像的亮度分布,而根据直方图可获取分割阈值以实现图像分割。此外,直方图对比有助于图像分类。直方图是表示图像亮度分布的图表,通过分析直方图的峰值可判断图像属于低调、中间调还是高调。直方图均衡化则能将图像转换为灰度分布更均匀的新图像。
11 0
|
6月前
|
C++
C++-灰度图上色GrayToColor
C++-灰度图上色GrayToColor
|
9月前
|
机器学习/深度学习 传感器 算法
【图像去噪】基于高斯滤波+均值滤波+中值滤波+双边滤波滤波实现图像去噪(含信噪比)附Matlab代码
【图像去噪】基于高斯滤波+均值滤波+中值滤波+双边滤波滤波实现图像去噪(含信噪比)附Matlab代码
|
9月前
|
机器学习/深度学习 传感器 数据采集
基于Zernike矩实现亚像素边缘检测附matlab代码
基于Zernike矩实现亚像素边缘检测附matlab代码
|
10月前
常见滤波(高斯滤波、均值滤波等)的简单理解
常见滤波(高斯滤波、均值滤波等)的简单理解
76 0
|
11月前
|
API 计算机视觉 Python
OpenCV_07 直方图:灰度直方图+直方图均衡化
直方图是对数据进行统计的一种方法,并且将统计值组织到一系列实现定义好的 bin 当中。其中, bin 为直方图中经常用到的一个概念,可以译为 “直条” 或 “组距”,其数值是从数据中计算出的特征统计量,这些数据可以是诸如梯度、方向、色彩或任何其他特征。
125 0
|
11月前
|
资源调度 算法 API
OpenCV_06 图像平滑:图像噪声+图像平滑+滤波
由于图像采集、处理、传输等过程不可避免的会受到噪声的污染,妨碍人们对图像理解及分析处理。常见的图像噪声有高斯噪声、椒盐噪声等。
103 0
|
资源调度 计算机视觉
CV10 图像模糊(均值、高斯、中值、双边滤波)
当我们只想得到感兴趣的物体时,通过图像模糊,可以将那些尺寸和亮度较小的物体过滤掉,较大的物体则易于检测。除了降低噪声,这就是图像平滑(模糊)的另一个重要应用:减少噪点,突出ROI,以便目标提取。
227 0