收藏 分销(赏)

用VC--实现数字图像处理.doc

上传人:仙人****88 文档编号:8749956 上传时间:2025-02-28 格式:DOC 页数:9 大小:888.97KB 下载积分:10 金币
下载 相关 举报
用VC--实现数字图像处理.doc_第1页
第1页 / 共9页
用VC--实现数字图像处理.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
数字图像处理设计 一. 设计题目 基于VC++的数字图像处理 二.设计要求 1.图像平滑处理的编程实现:在空域中,分别用邻域平均法和中值滤波法实现图像的平滑处理。 2.图像锐化处理的编程实现:在空域中,分别用梯度法和Laplace算子法实现图像的锐化处理。 三.设计原理 图像增强不考虑图像质量下降的原因。只将图像中感兴趣的特征有选择的突出。而衰减不需要的特征.它的目的主要是提高图像的可懂度。图像增强的方法分为空域法和频域法两类,空域法主要是对图像中的各个像素点进行操作,而频域法是在图像的某个变换域内,对图像进行操作,修改变换后的系数,例如付立叶变换、DCT 变换等的系数,然后再进行反变换得到处理后的图像。图像复原技术与增强技术不同,它需要了解图像质量下降的原因。 四.源程序清单 #include "stdafx.h" #include "DIPDemo.h" #include "DIPDemoDoc.h" #include "DIPDemoView.h" #include "mainfrm.h" #include "DlgSmooth.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDIPDemoView IMPLEMENT_DYNCREATE(CDIPDemoView, CScrollView) BEGIN_MESSAGE_MAP(CDIPDemoView, CScrollView) //{{AFX_MSG_MAP(CDIPDemoView) ON_COMMAND(ID_ENHA_SMOOTH, OnEnhaSmooth) ON_COMMAND(ID_ENHA_GRADSHARP, OnEnhaGradsharp) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDIPDemoView construction/destruction CDIPDemoView::CDIPDemoView() : m_bLBtnDblClkSrv(0) { // TODO: add construction code here } CDIPDemoView::~CDIPDemoView() { } ///////////////////////////////////////////////////////////////////////////// // CDIPDemoView drawing void CDIPDemoView::OnDraw(CDC* pDC) { // 显示等待光标 BeginWaitCursor(); // 获取文档 CDIPDemoDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if(pDoc->m_Image.IsValidate()) { CPalette* pOldPalette; CPalette* pPalette = pDoc->GetDocPalette(); if(pPalette!=NULL) { pOldPalette = pDC->SelectPalette(pPalette, FALSE); pDC->RealizePalette(); //更新系统调色板 } pDoc->m_Image.Draw(pDC); //绘制图像 if(pPalette!=NULL) pDC->SelectPalette(pOldPalette, FALSE); } // 恢复正常光标 EndWaitCursor(); } void CDIPDemoView::OnEnhaSmooth() { // 图像平滑 // 获取文档 CDIPDemoDoc* pDoc = GetDocument(); // 输入对象 CImgProcess imgInput = pDoc->m_Image; // 检查图像是灰度图 if (imgInput.m_pBMIH->biBitCount!=8) { AfxMessageBox("不是8-bpp灰度图像,无法处理!"); return; } // 输出的临时对象 CImgProcess imgOutput = imgInput; int nTempH; // 模板高度 int nTempW; // 模板宽度 FLOAT fTempC;// 模板系数 int nTempMX;// 模板中心元素X坐标 int nTempMY;// 模板中心元素Y坐标 // 模板元素数组赋初值(默认为平均模板) FLOAT aValue[25] = {1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,}; // 创建对话框 CDlgSmooth dlgPara; // 初始化对话框变量值 dlgPara.m_intType = 0; dlgPara.m_iTempH = 3; dlgPara.m_iTempW = 3; dlgPara.m_iTempMX = 1; dlgPara.m_iTempMY = 1; dlgPara.m_fTempC = (FLOAT) (1.0 / 9.0); dlgPara.m_fpArray = aValue; // 显示对话框,提示用户设定参数 if (dlgPara.DoModal() != IDOK) { // 返回 return; } // 获取用户设定的参数 nTempH = dlgPara.m_iTempH; nTempW = dlgPara.m_iTempW; nTempMX = dlgPara.m_iTempMX; nTempMY = dlgPara.m_iTempMY; fTempC = dlgPara.m_fTempC; // 更改光标形状 BeginWaitCursor(); // 调用Template()函数实现平滑滤波 imgInput.Template(&imgOutput, nTempH, nTempW, nTempMY, nTempMX, aValue, fTempC); // 将结果返回给文档类 pDoc->m_Image = imgOutput; // 设置脏标记 pDoc->SetModifiedFlag(TRUE); // 更新视图 pDoc->UpdateAllViews(NULL); // 恢复光标 EndWaitCursor(); } void CDIPDemoView::OnEnhaGradsharp() { // Sobel梯度锐化 // 获取文档 CDIPDemoDoc* pDoc = GetDocument(); // 输入对象 CImgProcess imgInput = pDoc->m_Image; // 检查图像是灰度图 if (imgInput.m_pBMIH->biBitCount!=8) { AfxMessageBox("不是8-bpp灰度图像,无法处理!"); return; } // 更改光标形状 BeginWaitCursor(); // 输出的临时对象 CImgProcess imgOutput = imgInput; // 调用FilterSobel()函数进行Sobel梯度锐化 imgInput.FilterSobel(&imgOutput); // 将结果返回给文档类 pDoc->m_Image = imgOutput; // 设置脏标记 pDoc->SetModifiedFlag(TRUE); // 更新视图 pDoc->UpdateAllViews(NULL); // 恢复光标 EndWaitCursor(); } 五. 设计结果 1.程序运行结果 2.图像加载到界面中 3.图像平滑打开界面 4.对图像平滑后的结果 5.对图像进行梯度锐化后的结果 六.收获和体会 这次课程设计让我受益匪浅。首先,我对VC++有了一个系统的认识,不在仅限于理论上的知识,其次,我对软件开发的界面有了很好的认识,再者,通过大量资料的查询,培养了我对数字图像的处理的浓厚兴趣,为我以后的发展方向提供了机会。 七.参考文献 《Visual C++音频/视频技术开发与实战》 张玲玲 《VC++深入详解 》 孙鑫 电子工业出版社 《面向对象程序设计(VC++)》 李志聪 哈尔滨工业大学出版社 《数字图像处理(MATLAB版 》 (美)冈萨雷斯 国外电子与通信教材系列 《数字图像处理 》 孙兴华 机械工业出版社 8
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服