DSP实验报告直方图均衡化增强

合集下载

数字图像处理实验报告直方图均衡化

数字图像处理实验报告直方图均衡化

数字图像处理实验报告直⽅图均衡化课程设计课程名称数字图像处理题⽬名称直⽅图均衡化学⽣学院信息⼯程学院专业班级 08级电信2班学号 3208002664 学⽣姓名陈慕仪指导教师曹江中2011年7 ⽉ 1 ⽇设计题⽬:直⽅图均衡化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///////////////////////////////////////////////////////////////////////////// // CCqxhistViewIMPLEMENT_DYNCREATE(CCqxhistView, CView)BEGIN_MESSAGE_MAP(CCqxhistView, CView)1,,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 jf]5.0)()[(min min max ++-=g f C g g INT g i nn r p kk =)(1,,2,1,010-=≤≤l k r k//{{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/destruction CCqxhistView::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 printing BOOL 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;jfor(int i=0;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;ifor(j=0;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;ifor(j=0;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;jfor(int i=0;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++编程结果:。

利用直方图均衡化和规定化进行图像增强的算法设计 数字图像处理毕业论文

利用直方图均衡化和规定化进行图像增强的算法设计 数字图像处理毕业论文

目录第1章绪论 (1)1.1 数字图像处理的研究背景 (1)1.2 数字图像处理的研究内容 (1)1.3 DSP系统简介 (2)1.4 图像增强简介 (4)第2章DSP系统 (5)2.1 DSP芯片 (5)2.1.1 DSP芯片的特点 (6)2.1.2 图像处理系统中DSP芯片的选择 (7)2.2 基于DSP的图像处理系统 (8)第3章图像增强 (9)3.1 图像增强的基本概念 (9)3.2 图像增强的方法 (9)3.2.1 图像锐化 (10)3.2.1.1 图像锐化原理 (10)3.2.1.2 拉普拉斯算子 (11)3.2.1.3 基于DSP的算法实现 (12)3.2.1.4 图片锐化效果比较 (14)3.2.2 Sobel边缘检测算法 (16)3.2.2.1 Sobel边缘检测算法原理 (16)3.2.2.2 Sobel边缘检测算法的变异及实现 (16)3.2.3 直方图均衡化算法 (20)3.2.3.1 直方图均衡化 (20)3.2.3.2 直方图规定化 (21)3.2.3.3实验结果及分析 (23)第4章直方图均衡化和规定化算法的DSP实现 (25)4.1 算法的DSP实现与优化 (25)4.1.1 算法开发硬件平台选择 (25)4.1.2 算法的实现与优化 (26)4.2 实验及结果分析 (27)结论 (31)致谢 (32)参考文献 (33)第1章绪论1.1 数字图像处理的研究背景数字图像处理又称为计算机图像处理,它最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。

数字图像处理作为一门学科大约形成于20世纪60年代初期。

图像处理的基本目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。

图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。

图像增强实验报告

图像增强实验报告

图像增强实验报告图像增强实验报告引言:图像增强是数字图像处理中的重要技术之一,它可以通过改变图像的亮度、对比度、色彩等参数,使图像更加清晰、细节更加突出。

本实验旨在探究不同图像增强方法对图像质量的影响,并比较它们的效果。

一、实验目的通过实验比较不同的图像增强方法,包括直方图均衡化、拉普拉斯算子增强、灰度变换等,对图像质量的影响,了解各种方法的优缺点,为实际应用提供参考。

二、实验步骤1. 实验准备:准备一组包含不同场景、不同光照条件下的图像样本,以及实验所需的图像处理软件。

2. 直方图均衡化:将图像的直方图进行均衡化,使得图像的像素值分布更加均匀,从而提高图像的对比度和亮度。

3. 拉普拉斯算子增强:使用拉普拉斯算子对图像进行边缘增强,突出图像的细节和纹理。

4. 灰度变换:通过调整图像的灰度级别,改变图像的亮度和对比度,使图像更加清晰明亮。

5. 实验结果分析:对比不同图像增强方法处理后的图像,分析它们在视觉效果上的差异,并根据实验结果评估各种方法的优劣。

三、实验结果与讨论在本次实验中,我们选择了一张室内拍摄的暗淡图像作为样本进行增强处理。

首先,我们对该图像进行了直方图均衡化处理。

结果显示,通过直方图均衡化,图像的亮度和对比度得到了明显的提升,细节也更加清晰可见。

然而,由于直方图均衡化是全局处理,可能会导致图像的局部细节过于突出,从而影响整体视觉效果。

接下来,我们采用了拉普拉斯算子增强方法。

通过对图像进行边缘增强,图像的纹理和细节得到了突出展示。

然而,拉普拉斯算子增强也存在一定的局限性,对于噪声较多的图像,可能会导致边缘增强过程中出现伪影和锯齿现象。

最后,我们尝试了灰度变换方法。

通过调整图像的灰度级别,我们改变了图像的亮度和对比度,使图像的细节更加突出。

与直方图均衡化相比,灰度变换方法更加灵活,可以根据实际需求对图像进行个性化的调整。

综合对比三种图像增强方法的实验结果,我们可以得出以下结论:直方图均衡化适用于对整体亮度和对比度进行提升的场景;拉普拉斯算子增强适用于突出图像的边缘和纹理;灰度变换方法可以根据实际需求对图像进行个性化调整。

dsp实验报告3-数字图像增强

dsp实验报告3-数字图像增强

H a r b i n I n s t i t u t e o f T e c h n o l o g y实验报告课程名称: DSP原理与应用院系:电子与信息工程学院姓名:学号:授课教师:任广辉哈尔滨工业大学1本次实验的背景与意义人对世界的感知有75%左右的信息都是通过视觉获得的,随着时代的发展,人们获取图像的方式越来越多样化。

从模拟图像到数字图像的变革引发了一系列对数字图像处理技术的出现。

数字图像与模拟图像最大的不同是数字图像以栅格(像素)为单位记录数据,这种量化的思想使图像处理的硬件实现更加方便可行。

数字图像处理技术包含了图像预处理,图像增强,图像边缘检测,图像分割、图像融合,特征提取,图像分类等方面。

数字图像处理可以使人对图像的感观更好,使图像能大量的存储,快速的传输,能够提取图像中的有用信息。

因此数字图像处理技术在很多领域都发挥重要作用。

1.1数字图像处理技术的发展背景视觉是人类最重要的感知手段,图像又是视觉的基础。

早期图像处理的目的是改善图像质量,它以人为对象,以改善人的视觉效果为目的。

图像处理中输入的是质量低的图像,输出的是改善质量后的图像。

有些处理的目的是为了图像的快速传输和解决存储数据量大的问题。

基于不同目的,发展了很多处理技术。

以下列举了一些基本的图像技术:1.几何处理主要包括坐标变换,图像的放大、缩小、旋转、移动,多个图像配准,全景畸变校正,扭曲校正,周长、面积、体积计算等。

2.算术处理主要对图像施以+、一、×、÷等运算,即针对像素点进行处理。

3.图像增强即突出图像中感兴趣的信息,减弱或去除不需要的信息,从而使有用信息得到加强。

包括增强反差即对比度,平滑或消除“噪声”,对图像中的目标加以锐化,用“伪彩色”增强图像,对图像进行几何校正,等等。

4.图像复原是改善由于种种原因而“退化”图像的质量。

主要目的是去除干扰和模糊,恢复图像的本来面目。

典型的例子如去除噪声。

数字图像处理实验报告直方图均衡化

数字图像处理实验报告直方图均衡化

数字图像处理实验报告实验名称:直方图均衡化姓名:班级:学号:专业:电子信息工程(2+2)指导教师:陈华华实验日期:2012年5月24日直方图均衡化图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法。

直方图均衡化是最常见的间接对比度增强方法。

直方图均衡化则通过使用累积函数对灰度值进行“调整”以实现对比度的增强。

直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。

缺点:1)变换后图像的灰度级减少,某些细节消失;2)某些图像,如直方图有高峰,经处理后对比度不自然的过分增强。

直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。

通过这种方法,亮度可以更好地在直方图上分布。

这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。

设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。

在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。

这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。

(2)对于0≤f≤L-1有0≤g≤L-1,这个条件保证了变换前后灰度值动态范围的一致性。

DSP图像处理技术-实验报告模板New1

DSP图像处理技术-实验报告模板New1

西安**大学通信与信息工程学院《DSP数字图像处理技术》课内实验报告(2016/ 2017 学年第 2学期)学生姓名: 88888专业班级: 7777学号: 0000指导教师: 0000目录实验1:Code Composer Studio入门实验 0一、实验目的 0二、实验原理 0三、实验内容(调试好的程序,实验结果与分析) (1)四、实验小结 (1)实验2:编写一个以C语言为基础的DSP程序 (4)一、实验目的 (4)二、实验原理 (4)三、实验内容(调试好的程序,实验结果与分析) (4)四、实验小结 (6)实验3:图像灰度化实验 (7)一、实验目的 (7)二、实验原理 (7)三、实验内容(调试好的程序,实验结果与分析) (7)四、实验小结 (8)实验4:图像平滑实验 (10)一、实验目的 (10)二、实验原理 (10)三、实验内容(调试好的程序,实验结果与分析) (12)四、实验小结 (15)实验5:图像锐化实验 (16)一、实验目的 (16)二、实验原理 (16)三、实验内容(调试好的程序,实验结果与分析) (16)四、实验小结 (18)实验6:图像灰度变换实验 (21)一、实验目的 (21)二、实验原理 (21)三、实验内容(调试好的程序,实验结果与分析) (21)四、实验小结 (22)实验7:图像均衡化实验 (24)一、实验目的 (24)二、实验原理 (24)三、实验内容(调试好的程序,实验结果与分析) (24)四、实验小结 (24)实验8:图像边缘检测实验 (28)一、实验目的 (28)二、实验原理 (28)三、实验内容(调试好的程序,实验结果与分析) (28)四、实验小结 (30)实验总结与心得体会 (36)实验1:Code Composer Studio入门实验一、实验目的1、学习创建工程和管理工程的方法2、了解基本的编译和调试功能3、学习使用观察窗口4、了解图像功能的使用二、实验原理开发 TMS320C6xxx 应用系统一般需要以下几个调试工具来完成:1. 软件集成开发环境(CCS):完成系统的软件开发,进行软件和硬件的仿真调试,它是硬件调试的辅助工具。

直方图均衡化实验报告

直方图均衡化实验报告

医学图像处理实验报告实验名称:直方图均衡化实验姓名:gao jun qiang 学号:20105405班级:生医1001指导教师:……2013年6月5日一、 实验目的1、编程实现下列功能:读出存储的黑白灰度图象并显示,显示灰度直方图,对图象进行直方图均衡化处理,显示处理后图象及直方图,画出灰度变换曲线,并存储处理后图象。

二、 实验原理直方图均衡化处理的中心思想是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

直方图均衡化是一种自动调节图象对比度质量的算法,使用的方法是灰度级变换:s = T(r) 。

它的基本思想是通过灰度级r 的概率密度函数p(rk ),求出灰度级变换T(r).灰度直方图的计算十分简单,依据定义在离散形式下有下面的公式成立:()1,1,0,-==L k n n k p k Λ (1) 公式中:k n 为图像中出现k s 级灰度的像素数,n 是图像像素总数,而n nk 即为频数。

计算累积直方图各项:()1,1,0,00-===∑∑==L k i p n n t k i ki i k Λ (2) 取整扩展:]5.0)1int[(+-=k k t L t (3)映射对应关系 :k t k ⇒三、实验代码及结果直方图均衡化实验代码:clc;close all;clear all;Imag = imread('lena.tiff');figure()imshow(Imag),title('原图像');ImagGray = rgb2gray(Imag);figure()imshow(ImagGray),title('灰度图像');[r,c] = size(ImagGray);%统计灰度直方图GrayPixNum = zeros(1,255);for i = 1:rfor j = 1:cGrayPixNum(1,ImagGray(i,j)) = GrayPixNum(1,ImagGray(i,j))+1;endend%对灰度直方图进行归一化GrayPixPro = GrayPixNum./(r*c);figure()plot(GrayPixPro),title('图像直方图');%-----------------------------------------------------------% -----------------------直方图均衡化------------------------%-----------------------------------------------------------%直方图累加GrayAdd = zeros(1,255);GrayAdd(1,1) = GrayPixPro(1,1);for i = 2:255GrayAdd(1,i) = GrayAdd(1,i-1)+GrayPixPro(1,i);endNewGray = round(GrayAdd.*254.+0.5);NewGrayPro = zeros(1,255);for i = 1:255GrayTemp = NewGray(1,i);NewGrayPro(1,GrayTemp) = NewGrayPro(1,GrayTemp)+GrayPixPro(1,i); endfigure()plot(NewGrayPro.*(r*c)),title('均衡化直方图');%有均衡化直方图和映射关系得到均衡化的图像NewImag = zeros(r,c);for i =1:rfor j = 1:cNewImag(i,j) = NewGray(1,ImagGray(i,j));endendNewImag = uint8(NewImag);figure()imshow(NewImag),title('均衡化的图像');figure()plot(NewGray),title('灰度变换曲线');实验结果:图1 原灰度图像图2 原图像的灰度直方图图3 经过直方图均衡化后的灰度图片图4 均衡化后的直方图图5 灰度变化曲线三、实验思考从上述实验结果可以看出,经过直方图均衡化后的图片的对比度更高,且边缘效果更高。

基于直方图均衡化图像增强的DSP实现

基于直方图均衡化图像增强的DSP实现

3
4
5
6
7
8
9
10
11 12
13 14
JTAG
TRST EMU1
61
60
59 58
+3.3V
57
R34
பைடு நூலகம்D1
USBVDD
C15
56
1k
55 54 53 52 51
USBLED
CON6 104
DN DP
R39 22 R40 22
1 2
3 4
5 R41 6 1.5k
VBUS DD+ GND shell shell
按照图像的概率密度函数的定义:
1
中国科技论文在线

p(x) = 1 H (x) A0
其中 H (x) 为直方图, A0 为图像的面积
设转换前图像的概率密度函数为 pr (r) ,转换后图像的概率密度函数为 ps (s) ,转换函
数为 s = f (r) ,由概率论知识,可以得到:
2
中国科技论文在线

芯片作为 DSP 和存储芯片之间的接口。
3.2 硬件结构设计
硬件部分主要由 DSP 处理器、电源模块、CPLD 接口模块、DARAM 存储模块、FLASH 存储 模块、USB 通信接口、JTAG 仿真接口、按键开关和指示灯组成。其连接方式如图 1 所示。
芯片。这样便于 DSP 与外部存储芯片进行无缝连接,具体电路如图 4 所示。
C18 104
U3 EPM240
+3.3V
1
2
3
4
5
6
7
8
9
10
11
CLK_CPLD 12

数字图像处理 实验 直方图均衡化实现图像增强

数字图像处理 实验 直方图均衡化实现图像增强

XXXXXXXX大学(数字图形处理)实验报告实验名称直方图均衡化实现图像增强实验时间年月日专业姓名学号预习操作座位号教师签名总评一、实验目的:掌握直方图均衡化的原理。

掌握直方图均衡化实现图像增强的实现方法。

二、实验原理:直方图是统计像数统计图,如设一张灰度图或一个通道,值0~255。

直方图如果按。

255个区分的话。

统计出来的就是,值为。

0的有几个像数,值为1的有机个像数,这样的一张表。

那么均衡化的意思就是。

这样表要均衡。

不直不于。

0有上万个像数,1只有1 个。

正常,直方图本身可以用小于255个区。

比如10个,那么这样相对图中的点就有一个映射,这时值0-9统计落在第一个区,值为10-19落第二个区。

这样的结果就会出来,10个区,10个统计数区。

这时。

你均衡就是让10区的统计数据都不会差很多。

表现出来的就是一张图上的颜色分布相对均衡。

总的来说直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。

三、实验内容:利用直方图均衡化实现图像增强。

在资源编辑器中,在主菜单下添加一名为“直方图均衡化”的菜单步骤如前面实验。

实验代码如下:if(m_DibHead->biBitCount!=8){MessageBox("当前版本仅支持256色位图的操作!","系统提示!",MB_ICONINFORMA TION|MB_OK);return;}zftjh(m_Image,m_DibHead->biWidth,m_DibHead->biHeight);Invalidate();其中函数zftjh的实现代码如下:zftjh(unsigned char *lpDib,long lWidth,long lHeight){unsigned char *lpsrc;long lresult(0);long i,j;unsigned char bMap[256];long lCount[256];for(i=0;i<256;i++)lCount[i]=0;for(i=0;i<lHeight;i++)for(j=0;j<lWidth;j++){lpsrc=lpDib+i*lWidth+j;lCount[*lpsrc]++;}for(i=0;i<256;i++){lresult=0;for(j=0;j<=i;j++)lresult+=lCount[j];bMap[i]=(lresult*255)/lHeight/lWidth;}for(i=0;i<lHeight;i++)for(j=0;j<lWidth;j++){lpsrc=lpDib+i*lWidth+j;*lpsrc=bMap[*lpsrc];}}原图为下图的左边部分,均值化以后的图为右边的部分:。

直方图均衡化图像增强与彩色图像处理算法分析 (2)

直方图均衡化图像增强与彩色图像处理算法分析 (2)

专业综合实验报告----数字图像处理专业:班级:姓名:学号:指导教师:2015年7月24日直方图均衡化图像增强与彩色图像处理算法分析一、设计目的在实际应用中,无论采用何种输入装置采集的图像,由于光照、噪声等原因,图像的质量往往不能令人满意。

例如,检测对象物的边缘过于模糊;在比较满意的一幅图像上发现多了一些不知来源的黑点或白点;图像的失真、变形等等。

所以图像往往需要采取一些手段进行改善以求达到较好的效果。

图像增强技术正是在此基础上提出的。

图像增强是图像分析与处理的一个重要的预处理过程,其主要有两个目的:一是运用一系列技术手段改善图像的视觉效果,提高图像的清晰度;二是将图像转化成一种更适合于人或计算机进行分析处理的形式。

即改善图像质量是图像增强的根本目的。

图像增强的意义一般可以理解为:按需要进行适当的变换,对图像的某些特征,如边缘、轮廓、对比度进行强调或锐化,突出某些有用的信息,去除或削弱无用的信息以便于显示、观察或进一步分析和处理。

图像增强技术是一类基本的图像处理技术,是指有选择地突出图像中感兴趣的特征或者抑制图像中某些不需要的特征,其目的是使处理后的图像更适合于人的视觉特性或机器的识别系统,包括图像的轮廓线或者纹理加强、图像去噪、对比度增强等。

因此图像增强处理是图像分析和图像理解的前提和基础。

在图像的获取过程中,特别是对于多媒体监控系统采集的图像,由于监控场景光线照射复杂、拍摄背景也比较复杂等环境因素的影响。

加之摄像设备、传感器等因素引入的噪声,使监控图像在一定程度上存在对比度差、灰度分布范围窄、图像分辨率下降。

因此,为得到一幅清晰的图像必须进行增强处理。

传统的图像增强算法通常是基于整幅图像的统计量,这样在计算整幅图像的变换时,图像中的低频信息、高频信息以及含有的噪声,同时进行了变换,因而在增强图像的同时增强了噪声,导致信息熵下降,给监控图像的分析和后期处理带来了困难。

针对此问题,提出一种新算法。

基于DSP的数字图像直方图均衡化仿真实验设计

基于DSP的数字图像直方图均衡化仿真实验设计

第23期2020年12月No.23December,20200 引言本研究提出了一种基于TMS320C5510 simulator [1]和Image2Lcd [2]软件的数字图像处理仿真教学案例开发流程,并以数字图像直方图均衡化处理为例,给出了完整的设计流程和代码。

1 传统直方图均衡化仿真案例设计1.1 传统直方图均衡化(HE )算法设r 为灰度变换前的归一化灰度级,pr (r )为其概率密度函数,s 为直方图均衡化处理后的归一化灰度级,则传统的直方图均衡化公式如式(1)[3]所示。

()rr s p d ωω=∫(1)离散形式的直方图均衡化公式如式(2)[3]所示。

k 0()kr j j s p r ==∑(2)1.2 传统直方图均衡化算法程序设计1.2.1 初始化数组r[i],s[i]程序代码直方图均衡化函数声明:void hist_eq (short *p, short *q),代码中*p 指向原始图像,*q 指向直方图均衡化处理之后的图像。

{int i , j ; float r[256];float s[256];int my_hist[256]; short *w;w=p; for(i=0;i<256;i++) { r[i]=0.0f; s[i]=0.0f; my_hist[i]=0;}1.2.2 统计原始图像灰度直方图程序代码本处代码处理的原始图像是裁剪后的80x80像素的8 bit灰度级的灰度图像。

for(i=0;i<80;i++){for(j=0;j<80;j++){ my_hist[*p]++; p++;}}for(i=0;i<256;i++) { r[i]=(float) my_hist[i]/(80*80); }1.2.3 计算原始图像累计分布函数程序代码for(i=0;i<256;i++) { for(j=0;j<=i;j++) { s[i]+=r[j]; } }1.2.4 去归一化及图像输出程序代码for(i=0;i<80;i++) { for(j=0;j<80;j++) { *q=(short)(s[*w++]*255.0); q++; }}}1.3 传统直方图均衡化算法程序仿真调试1.3.1 利用Image2Lcd 软件,获取所需处理的数字图像数据原始图像格式为B M P ,图像大小为256×256,灰度级为8 bit ,由于占据太多内存,影响仿真运算速度,利用I m a ge2L c d 软件[2]裁剪成80×80,灰度级8bit 图像,并且保存在数组c o n s t u n sig n e d ch a r g I m a ge _miss[6400]= { /* 0X08,0X08,0X50,0X00,0X50,0X00, */ …… }中,并且复制到下面的数组中:#pragma DATA_SECTION(icon_ok, “lily ”)shor t icon_ok[6400]= { /* 0X08,0X08,0X50,0X00,0X50,0X00, */……数据省略…}。

利用直方图均衡化进行图像的增强[正文、开题、任务、翻译]

利用直方图均衡化进行图像的增强[正文、开题、任务、翻译]

BI YE SHE JI 利用直方图均衡化进行图像的增强院(系):计算机科学与工程专业:计算机科学与技术班级:学生:学号:指导教师:任务书1.毕业设计(论文)题目:利用直方图均衡化进行图像的增强2.题目背景和意义:图像增强是数字图像处理技术中最基本的内容之一,是图像预处理方法之一,图像预处理是相对于图像识别、图像理解而言的一种前期处理,直方图均衡化就是把一已知灰度概率分布的图像经过一种变换,使之演变成一副具有均匀灰度概率分布的新图像。

清晰柔和的图像的直方图分布比较均匀。

为了使图像变得清晰,通常可以通过变换使图像的灰度动态范围增大,并且让灰度频率较小的灰度级经变换后,其频率变得大一些,使变换后的图像灰度直方图在较大的动态范围内趋于均化。

直方图均衡化处理是一种修改图像直方图的方法,它通过对直方图进行均衡化修正,可使图像的灰度间距增大或灰度均匀分布、增大反差,使图像的细节变得清晰。

本课题就是利用直方图均衡化进行图像的增强。

3.设计(论文)的主要内容(理工科含技术指标):主要内容有:(1)了解、熟悉并掌握图像直方图、图像增强的概念。

(2)给一副图像,能够得到图像的直方图,并能够对图像进行直方图的均衡化,进而对图像进行增强,掌握其原理并实现其过程。

(3)完成不同色彩空间下均衡化效果的优劣对比,给出一个较好的均衡化算法。

(4)完成1.5万字毕业论文,完成与课题相关的外文资料的翻译。

4.设计的基本要求及进度安排(含起始时间、设计地点):本次课题从2012年12月开始,在校内完成,具体的进度安排如下:第1~3周:查阅书籍资料,学习相关软件,准备开题报告。

第4周:分析设计任务,设计总体方案,研究算法。

第5~12周:模块设计、完成3000个单词以上的相关外文资料翻译;中期总结。

第13~15周:模块设计、系统调试。

第16~17周:系统测试、撰写毕业论文第18周:对论文排版和打印,制光盘;论文答辩。

5.毕业设计(论文)的工作量要求① 实验(时数)*或实习(天数):② 图纸(幅面和张数)*:③ 其他要求:指导教师签名:年月日学生签名:年月日系(教研室)主任审批:年月日说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。

实验六 基于直方图均衡化的图像增强

实验六 基于直方图均衡化的图像增强

实验六 基于直方图均衡化的图像增强一.实验目的1.了解空间域图像增强的各种方法(点处理、掩模处理);2.掌握采用直方图均衡化进行图像增强的方法;3. 使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理;二.实验设备1.PC 机一台;2.软件matlab ;三.实验内容及步骤对如图3.1所示的两幅128×128、256级灰度的数字图像fing_128.img 和cell_128.img 进行如下处理:(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。

指纹图像:fid=fopen('fing_128.img','r');im=(fread(fid,[128,128],'uint8'))';im=uint8(im);colormap(gray);subplot(221);imshow(im);subplot(222);imh=histeq(im);%直方图均衡化imshow(imh);subplot(223);imhist(im);subplot(224);imhist(imh);指纹图fing_128.img 显微医学图像cell_128.img图3.1 实验图像显微医学图像:fid=fopen('cell_128.img','r');im=(fread(fid,[128,128],'uint8'))';im=uint8(im);colormap(gray);subplot(221);imshow(im);subplot(222);imh=histeq(im);%直方图均衡化imshow(imh);subplot(223);imhist(im);subplot(224);imhist(imh);分析:由于数字图像中像素的灰度值取值是离散和不连续的,因而变换后的像素灰度值在计算中出现了归并现象,所以变换后的直方图并不是呈完全均匀分布的。

基于直方图均衡化的图像增强算法

基于直方图均衡化的图像增强算法

基于直方图均衡化的图像增强算法图像增强是数字图像处理领域中的一个重要任务,其目标是提高图像的视觉质量、增强图像的细节信息,使得图像更具观赏性和可辨识度。

直方图均衡化是一种常用的图像增强算法,通过重新分配图像的像素值,增强图像的对比度和动态范围。

本文将详细介绍基于直方图均衡化的图像增强算法的原理、步骤和应用。

一、直方图均衡化的原理直方图均衡化是一种通过拉伸图像的像素值分布来增强图像对比度的方法。

其基本原理是将原始图像中的像素经过变换后,使其灰度级分布更加均匀,从而增强图像的细节和对比度。

直方图均衡化的核心思想是将图像的像素累积函数进行非线性变换,使得原始图像中灰度级分布不均匀的区域得到均匀化,从而实现图像的增强效果。

二、直方图均衡化的步骤直方图均衡化算法主要包括以下几个步骤:1. 计算原始图像的灰度直方图:通过统计每个灰度级对应的像素个数,得到原始图像的灰度直方图。

2. 计算原始图像的累积分布函数(CDF):对灰度直方图做累积求和,得到原始图像的累积分布函数。

3. 计算像素值映射函数:将CDF进行归一化处理,得到像素值的映射函数,该映射函数描述了原始图像像素值与增强后图像像素值的对应关系。

通过该映射函数,可以将原始图像的每个像素值映射到增强后的像素值。

4. 对原始图像进行像素值映射:根据像素值映射函数,将原始图像的每个像素值进行映射,得到增强后的图像。

5. 输出增强后的图像:将经过像素值映射后的图像进行输出显示或保存,得到最终的增强图像。

三、基于直方图均衡化的图像增强应用直方图均衡化算法在图像增强领域有着广泛的应用。

下面介绍几个典型的应用场景。

1. 医学图像增强:医学图像通常需要提高图像的对比度和细节信息,以便医生更好地进行诊断。

直方图均衡化可以增强医学图像中的血管、肿瘤等细节信息,提升图像的识别能力。

2. 目标检测与识别:图像中的目标通常需要具备清晰的边缘和丰富的纹理信息,以便目标检测和识别算法能够准确地进行处理。

直方图均衡化实验报告

直方图均衡化实验报告

直方图均衡化实验报告直方图均衡化实验报告引言:直方图均衡化是一种常用的图像处理技术,它可以增强图像的对比度和细节,使得图像更加清晰明亮。

本实验旨在通过实际操作验证直方图均衡化的效果,并探讨其在不同场景下的应用。

实验步骤:1. 图像获取与预处理:选择一张高对比度的彩色图像作为实验对象,通过图像处理软件将其转换为灰度图像。

确保图像的亮度范围适中,避免过亮或过暗的情况。

2. 直方图均衡化算法:实现直方图均衡化算法的代码,可以使用Python等编程语言。

算法的核心思想是将原始图像的像素值映射到新的像素值,使得新图像的直方图均匀分布在整个灰度范围内。

3. 实验结果展示:将经过直方图均衡化处理后的图像与原始图像进行对比展示。

通过观察图像的对比度、亮度和细节等方面的变化,评估直方图均衡化算法的效果。

实验结果与分析:经过直方图均衡化处理后,图像的对比度明显增强,细节更加清晰可见。

原本过亮或过暗的区域得到了适当的修正,使得整个图像的亮度分布更加均匀。

同时,图像中的细节也得到了突出,使得观察者能够更好地识别和分析图像中的内容。

在实际应用中,直方图均衡化可以用于图像增强、目标检测、图像匹配等领域。

例如,在安防监控系统中,直方图均衡化可以提高图像的对比度,使得目标物体更加明显,有利于目标检测和识别。

在医学图像处理中,直方图均衡化可以增强图像的细节,有助于医生对病灶的判断和诊断。

然而,直方图均衡化也存在一些局限性。

首先,直方图均衡化是一种全局操作,对整个图像进行处理,可能会导致某些局部细节的损失。

其次,直方图均衡化对于亮度变化较大的图像效果较差,可能会导致过度亮化或过度暗化的问题。

因此,在实际应用中,需要根据具体情况选择合适的图像处理方法。

结论:通过本次实验,我们验证了直方图均衡化在图像处理中的有效性。

直方图均衡化可以增强图像的对比度和细节,使得图像更加清晰明亮。

然而,直方图均衡化也存在一些局限性,需要根据具体情况选择合适的图像处理方法。

图像增强的实验报告

图像增强的实验报告

图像增强的实验报告图像增强的实验报告引言:图像增强是数字图像处理领域中的一项重要任务。

通过改善图像的质量和清晰度,图像增强可以使我们更好地观察和分析图像中的细节。

本实验旨在探索图像增强的不同方法,并评估它们在不同场景下的效果。

实验设计:为了比较不同的图像增强方法,我们选择了一组具有不同特征的图像作为实验对象。

这些图像包括自然风景、人像和低对比度图像。

我们将使用以下三种方法进行图像增强:直方图均衡化、自适应直方图均衡化和增强对比度自适应拉伸。

实验步骤:1. 直方图均衡化:直方图均衡化是一种常用的图像增强方法,它通过重新分布图像的像素值来增强对比度。

我们首先将图像转换为灰度图像,然后计算灰度直方图。

接下来,我们使用累积分布函数对直方图进行均衡化,使得图像中的像素值分布更加均匀。

最后,我们将均衡化后的图像转换回原始图像的颜色空间。

2. 自适应直方图均衡化:直方图均衡化在某些情况下可能会导致图像的局部细节丢失。

为了解决这个问题,我们使用自适应直方图均衡化方法。

在这种方法中,我们将图像分成许多小区域,并对每个区域的直方图进行均衡化。

通过这种方式,我们可以保留图像的局部特征,并增强整体对比度。

3. 增强对比度自适应拉伸:增强对比度自适应拉伸是一种简单而有效的图像增强方法。

它通过将图像的像素值映射到一个更大的范围来增强对比度。

我们首先计算图像的平均亮度和标准差,然后使用以下公式对图像进行拉伸:enhanced_pixel = (pixel - mean) * (max_stretch / std) + mean其中,pixel是原始图像中的像素值,mean是图像的平均亮度,std是图像的标准差,max_stretch是拉伸的最大范围。

实验结果:我们将三种图像增强方法应用于不同类型的图像,并进行了对比分析。

结果显示,直方图均衡化方法在某些情况下可以显著增强图像的对比度,特别是对于低对比度图像。

然而,它可能会导致图像的噪声增加和细节丢失。

dsp图像处理实验报告

dsp图像处理实验报告

dsp图像处理实验报告DSP图像处理实验报告一、引言数字信号处理(DSP)是一种用于处理数字信号的技术,广泛应用于各个领域。

图像处理是DSP的一个重要应用,通过对图像进行数字化处理,可以实现图像增强、边缘检测、目标识别等功能。

本实验旨在通过DSP技术对图像进行处理,探索图像处理算法的实际应用。

二、实验目的1. 了解数字信号处理在图像处理中的应用;2. 掌握DSP平台的基本操作和图像处理算法的实现;3. 进一步熟悉MATLAB软件的使用。

三、实验环境和工具本实验使用的DSP平台为TMS320C6713,开发环境为Code Composer Studio (CCS)。

图像处理算法的实现主要依赖于MATLAB软件。

四、实验步骤1. 图像采集与预处理首先,通过CCD摄像头采集一张待处理的图像,并将其转化为数字信号。

然后,对图像进行预处理,包括去噪、灰度化等操作,以提高后续处理的效果。

2. 图像增强图像增强是指通过一系列算法和技术,提高图像的质量、清晰度和对比度。

在本实验中,我们采用了直方图均衡化算法对图像进行增强。

该算法通过对图像像素值的统计分析,调整像素值的分布,使得图像的对比度更加明显,细节更加突出。

3. 边缘检测边缘检测是图像处理的重要环节,可以用于目标识别、图像分割等应用。

在本实验中,我们采用了Canny算法进行边缘检测。

Canny算法是一种经典的边缘检测算法,通过对图像进行多次滤波和梯度计算,得到图像的边缘信息。

4. 目标识别目标识别是图像处理中的关键任务之一,可以应用于人脸识别、车牌识别等领域。

在本实验中,我们以人脸识别为例,使用了Haar特征分类器进行目标识别。

Haar特征分类器是一种基于图像特征的分类器,通过对图像进行特征提取和分类器训练,可以实现对目标的快速准确识别。

五、实验结果与分析通过对图像进行处理,我们得到了增强后的图像、边缘检测结果和目标识别结果。

经过对比分析,我们发现图像增强算法能够有效提高图像的对比度和清晰度,使得图像更加易于观察和分析。

数字图像处理直方图均衡实验报告

数字图像处理直方图均衡实验报告

数字图像报告班级:姓名:学号:一、直方图均衡:直方图均衡化也叫做直方图平坦化,是一种常用的灰度增强算法。

目的:曾强对比度目标:均匀分度原理:假设灰度级为归一化至范围[0,1]内的连续量,并令Pr (r)表示某给定图像中的灰度级的概率密度函数(PDF),其下标用来区分输入图像和输出图像的PDF。

假设我们对输入灰度级执行如下变换,得到(处理后的)输出灰度级s:S=T(r)=∫0r Pr(w)dw式中w 是积分的哑变量。

可以看出,输出灰度级的概率密度函数是均匀的,即a.当0≤s≤1 时,Ps(s)=1b.当s 为其他时,Ps(s)=0换言之,前述变换生成一幅图像,该图像的灰度级较为均衡化,且覆盖了整个范围[0,1]。

灰度级均衡化处理的最终结果是一幅扩展了动态范围的图像,它具有较高的对比度。

该变换函数只不过是一个累积分布函数(CDF)。

二、直方图均衡程序:clc主程序:picture=input('please input the filename:','s');fid=fopen(picture);dat=fread(fid);d=dat';B=reshape(d,256,256);h=length(d);newname=input('输入新的文件名:','s');zhi(h,newname,B,d);子程序:function y=zhi(h,newname,B,d)figure(1);imshow(uint8(B'));N=zeros(1,256);for i=0:255for j=1:hif i==d(j)N(i+1)=N(i+1)+1;endendendi=0:255;p=N/h;figure(2)stem(i,p,'.')title('原始直方图')m=zeros(1,256);for k=1:256if k==1m(k)=p(k);elsem(k)=m(k-1)+p(k);endendfor k=1:256r=round(m*255);ends=zeros(1,256);for a=1:256for b=1:256if r(a)==r(b)s(a)=N(a)+N(b);endendendq=s/h;for j=1:256k(j)=r(j);endfigure(3);stem(k,q,'.');title('均衡直方图');M=zeros(1,h);for i=1:hk=d(i);M(i)=r(k+1);endR=reshape(M,256,256);figure(4);imshow(uint8(R'));jht=fopen(newname,'wb');g=fwrite(jht,M);fclose('all');原图像原始直方图均衡直方图均衡后的图像:三、体会:通过本次设计,让我学会了从问题的高度来考虑设计的方方面面,对程序的设计和研究有了更深刻的体会;让我了解到程序的设计是建立在对理论知识了解的基础上的,特别是对直方图均衡化的原理要有较为详细的了解,此外对直方图均衡化算法也要进行了解;在编写程序时,进行模块化设计,以严谨的态度进行编程,避免出现低级错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆邮电大学DSP课程实验报告
学期: 2013-2014学年第1学期
课设题目:直方图均衡化图像增强
所在专业:电子信息工程
班级:
学号:
姓名:
任课教师:
实验教室:
二〇一三年12月10日
直方图均衡化图像增强
实验目的
掌握直方图均衡化增强的原理和程序设计;观察对图像进行直方图均衡化增强的效果。

实验设备
安装了Code composer studio 3.0软件的PC机一台
实验原理
灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度级内容。

任何一幅图像的直方图都包括了可观的信息,某些类型的图像可由其直方图完全描述。

灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标是该灰度出现的频率(像素个数与图像像素总数之比)。

图像增强是指按特定的需要突出一幅图像中的某些信息,同时,削弱或去除某些不需要的信息的处理方法。

利用直方图统计的结果,通过使图像的直方图均衡的方法称为直方图均衡化,直方图均衡化可以达到增强图像显示效果的作用。

其基本思想是把原始图像的直方图变换成均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。

通过直方图统计,可以观察出,图像中各种亮度所占的比例大都分布不均匀,设法增加在直方图统计中所占比例高的像素和其他占的比例少的像素之间的亮度差,可以提高图像的显示效果。

简单来说,直方图增强的方法就是压缩直方图中比例少的像素所占用的灰度范围,多出来的灰度空间按照统计比例分配给直方图中比例高的像素使用。

这种方法主要是针对人眼对灰度差别越大的图像更容易分辨的特点而做的增强。

实验步骤
1.实验准备:
设置软件仿真模式,启动CCS
2.打开工程,浏览程序
3.编译并下载程序。

4.打开工程Enhance.pjt中的Histo.c,在程序中有“Breakpoint”注释的语句上加软件断点。

5.设置观察窗口:
按照如下操作进行设置,其中蓝色部分是要重点注意改动的地方View->Graph->Image:
View->Graph->Image:
View->Graph->Image/Frequency:
3运行程序:
按“F5”键运行到各个断点,观察图像和直方图均衡化结果。

一、实验结果(包括相关截图)
每一个断点对应不同的效果图以及灰度直方图,部分图片能够明显的看出对比度增强
心得体会
通过这次实验,我了解了灰度统计直方图的原理及其意义,通过实验看出了灰度直方图均衡化之后的图片效果,通过查阅资料和自己的理解,知道直方图均衡化可以增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候,通过这种方法,亮度可以更好地在直方图上分布。

这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

同时,也了解了DSP的软件仿真,加深了自己队DSP的认识,增强自己对DSP
的兴趣。

相关文档
最新文档