欢迎来到天天文库
浏览记录
ID:51802287
大小:4.20 MB
页数:6页
时间:2020-03-15
《基于VC++的数字图像处理课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于VC++的数字图像处理课程设计一、概述本次电子课程设计是基于VC++6.0MFC多文档编程编写一个图像处理软件,这个软件能够实现BMP格式图像的浏览与编辑,打开和保存。实现对图像的平滑处理,包括邻域平均法和中值滤波法。还有对图像的锐化处理,包括梯度法和拉普拉斯算子法。BMP文件是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图和设备无关位图,使用非常广。它采用位映射存储格式,除了图像深度可选外,不采用其他任何压缩,因此BMP文件所占用的空间很大。由于BMP文件格式是Windows环境交换与图有
2、关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。图像平滑的目的是为了消除噪声,主要处理的方式有邻域平均法即通过提高信噪比,取得较好的平滑效果;空间域低通滤波采用低通滤波的方法去除噪声;以及频率低通滤波法通过除去其高频分量就能去掉噪声,从而使图像的到平滑。图像锐化的主要目的是为了增强图像边缘、轮廓和细节,使模糊的图像变得更加清晰,颜色、细节变得鲜明突出,图像的质量有所改善,产生更适合人眼观察和识别的图像。经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可对其进行逆
3、运算(如微分运算)就可以使图像变得清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。主要功能概述:1、打开和保存8位bmp图像2、图像平滑处理:分为邻域平均法和中值滤波法。邻域平均法中又有3*3均值滤波器法、超限邻域平均法、n*n均值滤波器法、有选择的局部平均化。中值滤波法中有n*n中值滤波器法、十字形中值滤波法、n*n最大值滤波器法。3、图像锐化处理:分为梯度法和拉普拉斯算子法。二、程序流程图开始打开图像锐化处理平滑处理梯度法中值滤波法邻域平均法Laplace算子法结束三、
4、运行效果1、软件界面:2、原图:3、邻域平均法3*3均值滤波器平滑处理后:4、十字形中值滤波平滑处理后:5、梯度法锐化处理后:6、Laplace算子法锐化处理后:四、程序源代码:voidCDynSplitView2::OnFilesave(){CFileDialogdlg(FALSE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY
5、OFN_OVERWRITEPROMPT,_T("位图文件(*.BMP)
6、*.BMP
7、"));if(IDOK==dlg.DoModal())CStringfile
8、name;filename.Format("%s",dlg.GetPathName());CDibNew1->SaveFile(filename);state2=1;Invalidate();}voidCDynSplitView2::On33junzhi(){clearmem();CDibNew1->threethree();//对图像进行3*3均值滤波Invalidate();}voidCDynSplitView2::OnChaoxian(){clearmem();THREETHREEJUNZHIdlg;if(IDO
9、K==dlg.DoModal()){intt=dlg.m_T;CDibNew1->Chaoxian(t);//超限邻域平均法Invalidate();}}voidCDynSplitView2::OnNnjunzhi(){clearmem();NNJUNZHIdlg;if(IDOK==dlg.DoModal()){CDibNew1->nn(dlg.m_n);//对图像进行n*n均值滤波Invalidate();}}voidCDynSplitView2::OnJubupingjun(){clearmem();CDibNew
10、1->jubupingjun();//对图像进行有选择局部平均化Invalidate();}voidCDynSplitView2::OnNnzhongzhi(){clearmem();NNJUNZHIdlg;if(IDOK==dlg.DoModal()){CDibNew1->nnzhong(dlg.m_n);//对图像进行N*N中值滤波Invalidate();}}voidCDynSplitView2::OnShizi(){clearmem();NNJUNZHIdlg;if(IDOK==dlg.DoModal()){C
11、DibNew1->shizi(dlg.m_n);//对图像进行十字型中值滤波Invalidate();}}voidCDynSplitView2::OnNnzuida(){clearmem();NNJUNZHIdlg;if(IDOK==dlg.DoModal()){CDibNew1->nnzuida(dlg.m_n);//对图像进行
此文档下载收益归作者所有