批阅日期:年月日河南理工大学测绘与国土信息工程学院《数字图像处理》课程设计报告(2018-2019学年第2学期)班级:学号:姓名:指导教师:评语:成绩:批阅签字课程设计项目:灰度图像对比度增强一、课程设计项目说明在图像处理中,点运算是一种简单而又很重要的技术。对于一幅输入图像,经过点运算将产生一幅输出图像,输出图像上每个像素的灰度值仅由相应输入原像素的值决定。对比度增强,对比度拉伸或灰度变换都属于点运算。点运算是图像数字化软件和图像显示软件的重要组成部分。熟悉图像增强点运算方法,编程实现图像对比度增强算法,掌握灰度图像基本处理技术。我们在此选取属于点运算的灰度变换来对图像进行对比度增强处理:灰度变换可使图像动态范围增大,图像对比度扩展,图像变清晰,特征明显,是图像增强的重要手段之一。1.线性变换若原图像f(i,j)的灰度范围为,b,线性变换后图像g(i,j)的范围为a'b',贝Vg(iJ)与f(i,j)之间的关系式可以用下式来表示:g(ij)=a'+b_a'(f(i,j)a)①ba当ba
b'a'时,图像亮度范围缩小,图像被压缩;2.对数变换对数变换的一般表达式为:g(jJ)=a+加广(订)+1②b•加c这里a,b,c是为了调整曲线的位置和形状而引入的参数。当希望对图像的低灰度区进行较大的拉伸而对高灰度区压缩时,可以采用这种变换,它能够使图像灰度分布与人的视觉特性相匹配。并且当c越大时,压缩程度越大。二、算法实现的主要内容//线性灰度变换voidCLiView::OnBinary1(){//获取文档指针CLiDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//确保有BMP图像打开,否则弹出"Error!"对话框if(pDoc->m_pDib==NULL){AfxMessageBox("Error!");return;}//开始进行图像的灰度变换处理lxk:Cxxbhdlginputxxbh;//定义线性变换对话框类对象dlginputxxbh.DoModal();//弹出对话框UpdateData(TRUE);//将编辑框内的值赋给对应成员函数if(dlginputxxbh.m_um_pDib->m_nCols,jcols;intmrows=pDoc->m_pDib->m_nRows,irows;unsignedchar*m_pData=NULL;m_pData=pDoc->m_pDib->pImgData;unsignedchar*m_pDataOldPos=m_pData;for(irows=0;irowsm_pDib==NULL){AfxMessageBox("Error!");return;}//开始进行图像的对数变换处理Cdsbhdlginputds;//定义对数变换对话框类对象dlginputds.DoModal();//弹出对话框UpdateData(TRUE);//将编辑框内的值赋给对应成员函数intmcols=pDoc->m_pDib->m_nCols,jcols;intmrows=pDoc->m_pDib->m_nRows,irows;unsignedchar*m_pData=NULL;m_pData=pDoc->m_pDib->pImgData;unsignedchar*m_pDataOldPos=m_pData;for(irows=0;irowsUpdateAllViews(NULL);//刷新视图三、图像处理结果S11-RUmfi图一操作界面图二原图1图三线性灰度变换1(阈值[0-255])(阈值[0-300])图四原图2图五线性灰度变换2(阈值[2-250])图七对数灰度变换图六原图3(a=2,b=1,c=0.233)四、课程设计体会通过对这两周数字图像处理课程设计的学习,我们学...