写点什么

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

作者:timerring
  • 2023-03-02
    山东
  • 本文字数:984 字

    阅读完需:约 3 分钟

文章和代码以及样例图片等相关资源,已经归档至【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('直方图均衡化后的直方图')
复制代码


发布于: 刚刚阅读数: 4
用户头像

timerring

关注

公众号【AIShareLab】 2022-07-14 加入

他日若遂凌云志

评论

发布
暂无评论
灰度直方图及直方图均衡化_图像处理_timerring_InfoQ写作社区