数字图像处理直方图均衡化PPT课件

合集下载

数字图像处理PPT 第3章_图像直方图

数字图像处理PPT 第3章_图像直方图
L1
H Pi log 2 Pi i0
熵反映了图像信丰富的程度,在图像编码处理中具有重要意义。
1. 有一胶片图象,在背景明亮的天空衬托 下,有一亮色屋顶的深色谷仓.
在下述各种情况下,试指出直 方图看起来将是什么样子:如果该图象被(a) 正确数字化;(b)数字化时增益调整过低; (c)数字化时增益调整过高;(d)数字化 时偏置过大;(e)数字化时偏置过小;(f) 数字化时增益和偏置均过大。假设0为暗, 255为亮。
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.3 灰度直方图的应用
用于确定图像二值化的阈值
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.3 灰度直方图的应用
3.3 灰度直方图的应用
用于判断图像量化是否恰当
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.3 灰度直方图的应用
用于确定图像二值化的阈值 0 f (x, y) T
g(x, y) 1 f (x, y) T
3 图像灰度直方图
3.1 图像灰度直方图的基本概念
vi
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
3 图像灰度直方图
3.1 图像灰度直方图的基本概念
vi
g fr (x, y,t), f g (x, y,t), fb (x, y,t)
N5=5
i
12321212
N6=8
31231221

数字图像处理课程设计报告---直方图均衡化

数字图像处理课程设计报告---直方图均衡化

设计题目:直方图均衡化1、直方图的理论基础:(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。

(2)直方图的作用: 反映一幅图像的灰度分布特性(3)直方图的计算: 式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,而n k /n 即为频数。

2、设计目的: 产生一幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,达到了图象增强的目的。

3、直方图均衡化的效果 :1)变换后直方图趋向平坦,灰级减少,灰度合并。

2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。

同时,也增加了图象的可视粒度。

4、离散情况下的直方图均衡化的算法:A 、列出原始图像的灰度级B 、统计各灰度级的像素数目C 、计算原始图像直方图各灰度级的频数D 、计算累积分布函数F 、应用以下公式计算映射后的输出图像的灰度级,P 为输出图像灰度级的个数,其中INT 为取整符号:G 、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。

3、源程序代码// cqxhistView.cpp : implementation of the CCqxhistView class#include "stdafx.h"#include "cqxhist.h"#include "cqxhistDoc.h"#include "cqxhistView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif///////////////////////////////////////////////////////////////////////////// // CCqxhistView1,,1,0,-=L j f j 1,,1,0,-=L j n j 1,,1,0,/)(-==L j n n f P j j f 1,,,1,0,)()(0-==∑=L k j f P f C k j j f ]5.0)()[(min min max ++-=g f C g g INT g i nn r p k k =)(1,,2,1,010-=≤≤l k r kIMPLEMENT_DYNCREATE(CCqxhistView, CView)BEGIN_MESSAGE_MAP(CCqxhistView, CView)//{{AFX_MSG_MAP(CCqxhistView)ON_COMMAND(ID_OPEN_IMAGE, OnOpenImage)ON_COMMAND(ID_HIST_IMAGE, OnHistImage)//}}AFX_MSG_MAP// Standard printing commandsON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)END_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////// // CCqxhistView construction/destructionCCqxhistView::CCqxhistView(){// TODO: add construction code here}CCqxhistView::~CCqxhistView(){}BOOL CCqxhistView::PreCreateWindow(CREATESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying// the CREATESTRUCT csreturn CView::PreCreateWindow(cs);}///////////////////////////////////////////////////////////////////////////// // CCqxhistView drawingvoid CCqxhistView::OnDraw(CDC* pDC){CCqxhistDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereif(m_dib.m_bLoaded==true) //判断是否加载图像{//获取图像宽和高int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();// 显示图像(具体的参数见CDIB类的该函数说明)m_dib.ShowDIB(pDC,10,10,nw,nh,m_dib.m_pDIBData,m_dib.m_pBMI);m_dib.ShowDIB(pDC,400,10,nw,nh,m_dib.m_pDumpDIBData,m_dib.m_pBMI); }if(m_bHist==true){//绘制原图像的直方图CString str;int nh=m_dib.GetDIBHeight();int i;// 画坐标轴// 绘制坐标轴pDC->MoveTo(410,nh+20); //(410,nh+20 )是直方图的左上角坐标// 垂直轴pDC->LineTo(410,nh+200);//(410,nh+200 )是直方图的左下角坐标// 水平轴pDC->LineTo(710,nh+200);//(710,nh+200 )是直方图的右下角坐标// 写X轴刻度值str.Format("0");pDC->TextOut(410, nh+200+10, str);str.Format("50");pDC->TextOut(460, nh+200+10, str);str.Format("100");pDC->TextOut(510, nh+200+10, str);str.Format("150");pDC->TextOut(560, nh+200+10, str);str.Format("200");pDC->TextOut(610, nh+200+10, str);str.Format("255");pDC->TextOut(665, nh+200+10, str);// 绘制X轴刻度for ( i = 0; i < 256; i += 25){if ((i & 1) == 0){// 10的倍数pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);}else{// 10的倍数pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);}}// 绘制X轴箭头pDC->MoveTo(705,nh+200-5);pDC->LineTo(710,nh+200);pDC->LineTo(705,nh+200+5);// 绘制y轴箭头pDC->MoveTo(410,nh+20);pDC->LineTo(405,nh+20+5);pDC->MoveTo(410,nh+20);pDC->LineTo(415,nh+20+5);int max=0;for(i=0;i<256;i++)if(m_yuan[i]>max)max=m_yuan[i];for(i=0;i<256;i++){pDC->MoveTo(410+i,nh+200);pDC->LineTo(410+i,nh+200-(m_yuan[i]*160/max));}}if(m_bHist==true){//绘画直方图CString str;int nh=m_dib.GetDIBHeight();int i;// 画坐标轴// 绘制坐标轴pDC->MoveTo(10,nh+20); //(10,nh+20 )是直方图的左上角坐标// 垂直轴pDC->LineTo(10,nh+200);//(10,nh+200 )是直方图的左下角坐标// 水平轴pDC->LineTo(310,nh+200);//(310,nh+200 )是直方图的右下角坐标// 写X轴刻度值str.Format("0");pDC->TextOut(10, nh+200+10, str);str.Format("50");pDC->TextOut(60, nh+200+10, str);str.Format("100");pDC->TextOut(110, nh+200+10, str);str.Format("150");pDC->TextOut(160, nh+200+10, str);str.Format("200");pDC->TextOut(210, nh+200+10, str);str.Format("255");pDC->TextOut(265, nh+200+10, str);// 绘制X轴刻度for ( i = 0; i < 256; i += 25){if ((i & 1) == 0){// 10的倍数pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);}else{// 10的倍数pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);}}// 绘制X轴箭头pDC->MoveTo(305,nh+200-5);pDC->LineTo(310,nh+200);pDC->LineTo(305,nh+200+5);// 绘制y轴箭头pDC->MoveTo(10,nh+20);pDC->LineTo(5,nh+20+5);pDC->MoveTo(10,nh+20);pDC->LineTo(15,nh+20+5);int max=0;for(i=0;i<256;i++)if(m_hist[i]>max)max=m_hist[i];for(i=0;i<256;i++){pDC->MoveTo(10+i,nh+200);pDC->LineTo(10+i,nh+200-(m_hist[i]*160/max));}}}///////////////////////////////////////////////////////////////////////////// // CCqxhistView printingBOOL CCqxhistView::OnPreparePrinting(CPrintInfo* pInfo){// default preparationreturn DoPreparePrinting(pInfo);}void CCqxhistView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add extra initialization before printing}void CCqxhistView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add cleanup after printing}///////////////////////////////////////////////////////////////////////////// // CCqxhistView diagnostics#ifdef _DEBUGvoid CCqxhistView::AssertValid() const{CView::AssertValid();}void CCqxhistView::Dump(CDumpContext& dc) const{CView::Dump(dc);}CCqxhistDoc* CCqxhistView::GetDocument() // non-debug version is inline{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCqxhistDoc)));return (CCqxhistDoc*)m_pDocument;}#endif //_DEBUG/////////////////////////////////////////////////////////////////////////////// CCqxhistView message handlersvoid CCqxhistView::OnOpenImage(){// TODO: Add your command handler code here// TODO: Add your command handler code herestatic char szFilter[]="BMP文件(*.bmp)|*.bmp||"; //定义过滤文件的类型 CFileDialog dlg(TRUE,"bmp",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);//定义文件对话框对象 CString filename;int ret=dlg.DoModal(); //运行打开文件对方框if(ret==IDOK){filename=dlg.GetFileName(); //获取所选择图像的路径 m_dib.LoadFromFile(filename); //加载图像if(!m_dib.m_bLoaded) //判断是否加载图像成功{AfxMessageBox("图像打不开");return;}for(int i=0;i<256;i++) //初始化直方图数组{ m_hist[i]=0;m_yuan[i]=0;}m_bHist=false;}{int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();for(int j=0;j<nh;j++)for(int i=0;i<nw;i++){BYTE temp=m_dib.m_pdata[j*nw+i];m_yuan[temp]++;}}Invalidate(1); //刷新屏幕}void CCqxhistView::OnHistImage(){// TODO: Add your command handler code here//功能:实现直方图均衡化////////////////////////////判断图像是否打开,没打开,则弹出提示框并退出函数if(!m_dib.m_bLoaded){AfxMessageBox("图像还打开,请先打开图像!");return;}//获取图像宽和高int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();int i,j,k;int count[256]={0};//定义一个数组,用于存放灰度级个数 float p[256];//定义一个数组,用于存放灰度级出现频率//对图像进行直方图均衡化处理for(i=0;i<nh;i++)for(j=0;j<nw;j++){k=m_dib.m_pdata[i*nw+j];//计算灰度级个数count[k]++;}for(k=0;k<256;k++)p[k]=count[k]/(nw*nh*1.0f);float c[256]={0};float sum=0.0;int ngray[256];//新的灰度级for(k=0;k<256;k++)//计算累积频率{sum+=p[k];c[k]=sum;ngray[k]=(int)(255.0*c[k]+0.5);}for(i=0;i<nh;i++)for(j=0;j<nw;j++){k=m_dib.m_pdata[i*nw+j];m_dib.m_pdata[i*nw+j]=ngray[k];}{int nw=m_dib.GetDIBWidth();int nh=m_dib.GetDIBHeight();for(int j=0;j<nh;j++)for(int i=0;i<nw;i++){BYTE temp=m_dib.m_pdata[j*nw+i];m_hist[temp]++;}}//将修改的m_pdata的数据赋值给m_pDIBData,以显示修改的结果m_dib.UpdateData();m_bHist=true;//将修改的m_pdata的数据赋值给m_pDIBData,以显示修改的结果 m_dib.UpdateData();//刷新屏幕Invalidate();}4、实验结果C++编程结果:。

(848页PPT幻灯片)数字图像处理(冈萨雷斯)课件

(848页PPT幻灯片)数字图像处理(冈萨雷斯)课件

例3:镜头边界检测
பைடு நூலகம்
例4:基于内容的图像检索 例5:基于内容的镜头检索
例6:基于内容的视频片断检索
例7:视频字幕识别
例7:视频字幕识别
T. B$alr
Boat
Fish
H. Jlntao J.
E. Lah oud MaI•
MeetJn
MJIIta Mono§o us Motorbike
News pa per
为什么要用SAN
存传储统区存域储网解S决AN方(S案tor—ag—e A信re息a 岛Network)
SAN
SAN是什么?
SAN是什么?(续)
不是client/server,而是client/storage devices 独立于LAN之外的高速存储网络 一般采用高速的光纤通道作为传输媒体( 2Gbit/s) 将存储设备通过光通道互连设备构成一个存 储子网 支持服务器和存储设备之间任意到任意的连 接 S A N上的任何一台服务器均可存取网络中的任何一个 存 储设备 对网上的存储资源实施集中统一的管理
Vision (IJCV) ✓ Pattern Recognition (PR) ✓ Image and Vision Computing (IVC)
✓…
目前需要做的事情
选课学生发送下列信息给老师: pengyuxin@
✓ 姓名 ✓ 学号 ✓ 联系方式:E_mail,电话 ✓ 硕士生或博士生,年级 ✓ 所在院系、实验室、导师 ✓ 研究方向
✓灰度图像是一个二维灰度(或亮度)函数f(x,y) ✓彩色图像由三个(如RGB,HSV)二维灰度(或亮度)函数 f(x,y)组成
y
y
x
x
什么是数字图像?

数字图像处理图像滤波ppt课件

数字图像处理图像滤波ppt课件
素位置重合; 读取模板下各对应像素的灰度值; 将这些灰度值从小到大排成一列; 找出这些值的中间值; 将这个值赋给对应模板中心位置的像素。
47
噪声图像
中值滤波3x3
48
平均滤波与中值滤波比较
噪声图像
均值滤波
中值滤波
均值滤波和中值滤波都采用的是2x2 的模板
49
均值,中值和最频值
均值是模板内像素点灰度的平均值,中值是数值排列 后处于中间的值,最频值是出现次数最多的灰度值;
8
常用像素距离公式
欧几里德距离
DE
(
p,
q)


x

s 2


y

t
2

范数距离
D( p, q) x s y t
棋盘距离
D( p, q) max x s , y t
9
像素间的基本运算
算术运算:
加法: p + q
减法: p - q
乘法: p * q
这三者都与直方图有着密切的关系; 直方图的一个峰对应一个区域,如果这个峰是对称的,
那么均值等于中值,等于最频值。
50
中值滤波的代码实现 Matlab中函数medfilt1和medfilt2,第一个是一维
的中值滤波,第二个是二维的中值滤波。 使用help查看函数功能
51
示例
52
代码讲解
0.25
0.10 0.05
0.125 01 2
34
56
7
P r 关系目标曲线 r
原始图像中的P-r点位置 对应变换后的P-r点位置
24
算法描述 设像素共分为L级(r = 0,1,2,…L1),变换后对应的

数字图像处理技术PPT图像数字化和直方图

数字图像处理技术PPT图像数字化和直方图

二、图像的数字化
4.量化技术
量化可分为均匀量化和非均匀量化。 均匀量化是简单地在灰度范围内等间隔 量化。非均匀量化是对像素出现频度少 的部分量化间隔取大,而对频度大的量 化间隔取小的量化间隔。
一般情况下,对灰度变化比较平缓的部分用比较多的量化级, 在灰度变化比较剧烈的地方用比较高的分辨率。
量化

一、数字图像的概念与描述
2.灰度图像
灰度图像是指每个像素的信息由 一个量化的灰度级来描述的图像,没 有彩色信息。
0 150 200 I 120 50 180 250 220 100
灰度图像描述示例
一、数字图像的概念与描述
3.彩色图像
彩色图像是指每个像素的信息由 RGB三原色构成的图像,其中RGB是 由不同的灰度级来描述的。
三基色原理


大自然中的颜色都可以通过红、绿、蓝三色按照 不同的比例合成产生,同样绝大多数单色光也可 以分解成红绿蓝三种色光。即三基色原理。 三种基色是相互独立的,红绿蓝三基色按照不同 的比例相加合成混色称为相加混色: 红色+绿色=黄色 绿色+蓝色=青色 红色+蓝色=品红 红色+绿色+蓝色=白色
彩色图像描述
采样间隔效果示意图
返回
均匀量化效果示意图
返回
非均匀量化效果示意图
返回
均匀量化与非均匀量化效果的比较
返回
量化与采样的效果图例
原图
低灰度级量化
低分辨率 返回
黑白图像
返回
灰度图像
返回
彩色图像
返回
彩色图的灰度直方图
返回
灰度图的灰度直方图
返回
灰度分布效果比较示意图

第三四直方图及直方图的规定化和均衡化PPT学习课件

第三四直方图及直方图的规定化和均衡化PPT学习课件

f (sk )
rk
1
p

r
0
p sk 0
dr

s

ds
2020/2/26
sk ds rk p r dr
0
0
9
直方图均衡原理
• 连续模型下直方图均衡公式:
T rk
rk p r dr
0
• 离散化:
T rk
k
p rj
• 概率分布函数:
2020/2/26
f (rk )
rk p r dr ;
0
f (sk )
sk p s ds
0
8
直素面积 =
原图像在[0,rk]灰 度级范围内像素
f面(rk积) 。0rk p r dr =
sk T rkps
• 步骤3:求步骤2的反变换 ,将原始直方图对 应映射到规定直方图
zk G1(sk ) G1[T (rk )] k 0,1, 2,..., L 1
2020/2/26
17
直方图规定化
zk G1(sk ) G1[T (rk )] k 0,1, 2,..., L 1
分布均匀。
5
直方图均衡
• 基本思想:
– 将原始图直方图变换为在整个灰度范围内均匀分布。
• 目的:
– 增加像素灰度值的动态范围,增强图像整体对比度。
• 思路:
– –
寻要找求灰h%(度sk 映) 为射函均数匀T分(·布),。有
sk T rk
2020/2/26
6
直方图均衡原理
• 灰度映射函数T(·),有sk T rk

直方图均衡化算法-Read.PPT

直方图均衡化算法-Read.PPT

0.5
S=kr+b 0
0.5
1
(d)反转函数
(d)反转效果
(c)变换结果
图6-21 不同线性灰度变换 效果的比较
非线性单调点变换
L-1
s
0 r
图6-22非线性点运算
T(r)=r+kr(L-r)
L-1
(6-34)
S型函数
指数变换
s=cy
(6-38)
c和y为常数。
当 1时,具有扩展低亮度区、压缩高亮度区的
输出图像灰度概率密度数学模型
均匀 (Uniform)
指数 (Exponitial)
瑞利 (Raleigh)
双曲线 (立方根) (Hyperbolic)
双曲线(对数)
转移函数
直方图规定化算法
设Pf(fi)原始图像直方图,Pz(zi)期望输出图像的直方图, fj, zi [0,L-1]。
1.分别对 Pf(fj), Pz(zi)作均衡化处理, fj gm, zi yn;
gi=INT[(gmax-gmin)c(f)+gmin+0.5] 6.统计映射后各灰度级的象素数目ni, i=0,1,…,p-1; 7.计算输出图像直方图Pg(gi)= nj/n,i=0,1,…,p-1; 8.用fj和gi的映射关系,修改原始图像灰度级,获得直方图近似均匀分布 的输出图像。
Байду номын сангаас
典型直方图变换的转移函数
2.在 gm yn 处组合, Pf(fi) Pz(zi)。 gm=T(fj), yn=G(zi), gm yn, zi=G-1[T(fj)]
6.2.4小结
■ 点运算是对图像的灰度级进行变换; ■ 点运算可用于光度学校正、显示校正、图像增强和直方图

图像增强-数字图像处理

图像增强-数字图像处理

图像增强
2.图像噪声的特点 (1)噪声在图像中的分布和大小不规则,即具有随机性。 (2)噪声与图像之间一般具有相关性。 (3)噪声具有叠加性。
图像增强
3.3.2 模板卷积 模板操作是数字图像处理中常用的一种邻域运算方式,
灰度变换就是把原图像的像素灰度经过某个函数变换成 新图像的灰度。常见的灰度变换法有直接灰度变换法和直方 图修正法。直接灰度变换法可以分为线性变换、分段线性变 换以及非线性变换。直方图修正法可以分为直方图均衡化和 直方图规定化。
图像增强
3.1.1 线性变换 假定原图像f(x,y)的灰度范围为[a ,b],希望变换后图像
ቤተ መጻሕፍቲ ባይዱ
图像增强
例如,假定一幅大小为64×64、灰度级为8个的图像,其灰 度分布及均衡化结果如表3-1 所示,均衡化前后的直方图及变 换用的累积直方图如图3-10所示,则其直方图均衡化的处理 过程如下。
图像增强
图像增强 由式(3-12)可得到一组变换函数:
依此类推:s3=0.81,s4=0.89,s5=0.95,s6=0.98,s7=1.0。变换函 数如图3-10(b)所示。
图像增强

图像增强
图3-1 灰度线性变换
图像增强
图3-2 灰度线性变换示例
图像增强
3.1.2 分段线性变换 为了突出感兴趣的灰度区间,相对抑制那些不感兴趣的
灰度区间,可采用分段线性变换。常用的3段线性变换如图33所示,L 表示图像总的灰度级数,其数学表达式为
图像增强
图3-3-分段线性变换
图像增强
设r 为灰度变换前的归一化灰度级(0≤r≤1),T(r)为变换函 数,s=T(r)为变换后的归一化灰度级(0≤s≤1),变换函数T(r)满足 下列条件:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三. 直方图的性质
不同图象对应相同的直方图
长江大学电子信息学院
四. 直方图均衡化
1.原因
大多数自然图像,其灰度分布集中在较窄的区间,引起图像 细节不够清晰,采用直方图修正后可使图像的灰度间距拉开或使 灰度分布均匀,从而增大反差,使图像细节清晰,达到增强的目 的。例如一幅过曝光的图片,其灰度级都集中在高亮度范围内, 而曝光不足的图片,其灰度级集中在低亮度范围内,具有这样直 方图的图片其可视效果比较差。
p(r)图 灰 像 度 上 为 的 r的 总 像 像 素 素 数 数
n
i 1
p(ri )
1
长江大学电子信息学院
一.灰度级直方图的概念
灰度级
123456
灰度级的像素数 7 4 3 7 2 13
图像的直方图 长江大学电子信息学院
一. 灰度级直方图的概念
灰度图像的直方图
长江大学电子信息学院
二. 直方图的计算
长江大学电子信息学院
四. 直方图均衡化
3.直方图均衡化MATLAB的实现
程序:调整c图lea像r 的all对比度,调整前后的图像见图 I=imread(‘C:\lena.bmp’); J=imadjust(I,[0.3 0.7],[ ]); subplot(221), imshow(I); subplot(222), imshow(J); subplot(223), imhist(I) subplot(224), imhist(J);
长江大学电子信息学院
四. 直方图均衡化
2.直方图均衡化步骤
(求(13)变)对用换给新后定灰的的度新待代灰处替度理旧;图灰像度统,计求其出直Pቤተ መጻሕፍቲ ባይዱ方(s)图,,这求一出步Pr是(r近k)似过nk程/N ,应
(根2)据根处据理统目计的出尽的量直做方到图合采理用,累同积时分把布灰函度数值作相变等换或, 近似地合
并到一起。
k
Sk T(rk) Pr(rj ) j0
长江大学电子信息学院
四. 直方图均衡化
例子
表 64×64大小的图像灰度级分布
假定有一幅像 素数为64×64,灰 度级为8级的图像, 将其进行均衡化处 理,其灰度级分布 表如右图所示:
长江大学电子信息学院
四. 直方图均衡化
直方图均衡化示意图
图(a) 原图灰度级直方图;图(b) 累积变换后的直方图; 图(c) 均衡化后的直方图;
3.直方图均衡化MATLAB的实现
显示灰度图像‘baby.jpg’的直方图
程序:I=imread(‘C:\baby.jpg’); subplot(1,2,1),imshow(I); subplot(1,2,2),imhist(I);
长江大学电子信息学院
四. 直方图均衡化
灰度图像的色彩直方图
长江大学电子信息学院
长江大学电子信息学院
四. 直方图均衡化
3.直方图均衡化MATLAB的实现
(1)imhist函数
功能:计算和显示图像的色彩直方图。 格式:imhist(I, n) imhist(X, map) [counts, x]=imhist(…) 说明:imhist(I, n)计算和显示灰度图像I的直方图,n为指定
设 式中r表,示N图为像一中幅像图素像的中灰像度素级的,总可数以;用nk概为率第密k级度灰函度数的Pr像(rk素)表;示
rk为第k个灰度级;Pr(rk)表Pr示(rk该)灰n度k 级/N出现的概率。因为Pr(rk)
给出了对rk出现概率的一个估计,所以直方图提供了原图的灰 度值分布情况,也可以说给出了一幅图像所有灰度值的整体 描述。
图像的直方图
长江大学电子信息学院
四. 直方图均衡化
3.直方图均衡化MATLAB的实现
(2)imadjust函数
功能 格式:J=imadjust(I, [low high],[bottom top], gamma) newmap=imadjust(map, [low high], [bottom top],
长江大学电子信息学院
三. 直方图的性质
(1) 它只反映该图像中不同灰度值出现的次数,而 未(反2)映任某一一幅灰图度像值,像都素能所唯在一的地位确置定。出也一就幅是与说它,对它应只 包的含直了方该图图,像但中不某 同一的灰图度像值,的可像能素有出相现同的概直率方,图而。丢 失了其所在位置的信息。
长江大学电子信息学院
四. 直方图均衡化
3.直方图均衡化MATLAB的实现
显示索引色图像的直方图 程序: clf;load trees;
subplot(1,2,1),imshow(I); subplot(122);imhist(X,map);
长江大学电子信息学院
四. 直方图均衡化
索引色图像的直方图
长江大学电子信息学院
用直方图均衡化进行图像增强
2011-3-22
目录
1. 灰度级直方图的概念 2. 直方图的计算 3. 直方图的性质 4. 直方图均衡化
一. 灰度级直方图的概念
1 灰度级直方图
灰度级的直方图是反应一幅图像中的灰度级与出现这 种灰度的概率之间的图形。
2 直方图的概念
设图像的灰度范围为[a,b],r为此灰度范围内 的任一灰度级,p(r)为这幅图像中灰度级为r的像 素出现的频率,可以看出p(r)是r的函数。该函数 的图形称为这幅图像的直方图。
gamma) 说明:J=imadjust(I, [low high], [bottom top], gamma)
返回图像I经直方图调整后的图像J,gamma为校正量 γ,[low high]为原图像中要变换的灰度范围,[bottom top]指定了变 换后的灰度范围;newmap=imadjust(map, [low high] [bottom top], gamma)调整索引色图像的调色板map。此时若 [low high]和[bottom top]都为2×3的矩阵,则分别调整R、 G、B 3个分量。
的灰度级数目,缺省值为256; imhist(X, map)计算和显示索引色图像X的直方图,map为调
色板; [counts, x]=imhist(...) 返回直方图数据向量counts和相应的
色彩值向量x,用stem(x, counts) 同样可以显示直方图。
长江大学电子信息学院
四. 直方图均衡化
四. 直方图均衡化
3.直方图均衡化MATLAB的实现
用stem函数显示图像直方图 程序: I=imread(‘trees.tif');
[c,x]=imhist(I); subplot(121);imshow(I); subplot(1,2,2),stem(x,c);
长江大学电子信息学院
四. 直方图均衡化
相关文档
最新文档