数字图像处理实习教程

4星(超过85%的资源)
所需积分/C币:28 2011-10-21 19:40:06 879KB PDF
8
收藏 收藏
举报

数字图像处理实习教程,苦苦的寻觅着如何进行数字图像处理的MFC C++编程的同学们有福了
合性、应用性和创新性的实习单元组成。集中实习的目的是要求学生进一步巩国和掌握图 像处理技术的基本原理与方法,理论联系实际,灵活应用所学知识解决实际问题,提高分 析问题和解决问题的能力,培养学生的创新能力:第四部分给出了实习内容的相关源代码, 仪供参考。另外,每个实习单元后面鄱附有思考题。在Meb网址 htp://jpkc.whu.edu.cn/jpkc/dip/上可以获得源代码和硏制的实验软件。欲与作者联 系,可以通过以下两种途径: 1)email:yhiia2000@sina.com 2)http://jpkc.whu.educn/jpkc/dip/gbook/index.asp 全书由贾永红策划、拟定章节大纲,崔卫红要参与第一、三部分有关内容的撰写; 余卉主要参加第三、四部分有关内容的撰写与程序整埋;还有博士生李芳芳、潘朋、马κ 霞、胡諍、高振宇、张岱等人参与编写单元代码和流程图绘制。其他内容及全书的统稿、 定稿由贾永红完成。 本书不仅作为计算机科学与技术、遥感科学与技术、光学、电子、测绘、地理信息系 统、通讯和自动控制等专业的学生实习教材和参考资料,也作为工程技术人员和科研人员 进行数字图像处理研究和开发的 本书得以出版,完全是集体努力的结果。初稿完成后承蒙**、*教授挤出宝贵时间 审阅斧正。该书引用了些论文和资料,对此,我们深表感谢。由」本人水平所限,书中 定会有许多不足之处,恳请读者批评指正。 编者 2006年10月 学生实习注意事项 实习要求 (1)学生应熟悉C或V程序设计语言,熟悉预备知识中的内容 (2)实习前应认真复习数字图像处埋相关埋论知识和思考算法的设计 (3)每人固定用一台计算机,以班级学号名建立文件夹,将自己的实习成果存放在自 已的文件夹中。 (4)实习完毕,每个同学撰写一份实习报告,按时交给指导老师 实习考核评分方法 学生实习成绩考核包括考勤、实习完成情况、实习报告或成果汇报等方面,各部分所 占比例如下: (1)考勤(迟到、早退、旷课扣分)(10分) (2)实习完成况(60分); (3)实习报告(课间实习30分,集中实习20分); (4)综合实习成果汇报(10分) 第一部分实习预备知识 数字图像处理实习的日的是要求学生掌握和巩固数字图俟处理的原理与方法,理论联系实际,灵活应 用所学知识解决实际问题,提高分析问题和解决问题的能力,培养学生的创澌能力。因此我们要求学生实 习时能用 Visual c++创建应用工程——数字图像处理平台,编程完成各项实习,以便将来能独立地开发 应用系统。为此,学生应该对Ⅴ isual c艹+J发环境有所了解,特别是应掌握如何搭建起个 Visual o++ 应用工程,以及如何实现图像处理常见的基木操作。在这里介绍创建 Visua1C+应用工程的基木流程, 希望学生宄成本部分的阅读和操作后,能创建一个基于MFC的 Visual c+数字图像处理平台,并能实现 批注:一般说“工程” 位冬读写、显示的操作,为顺利完成后面的各项实习任务奠定基础 创建VC++应用工程的基本流程 对 Visual c艹-的初学者,按照下列步骤操作就可初步掌握设讣Ⅴ isual o艹+应用程序的基本操作流程 ()创建基于MFC的 Visua1C+应用程序的步骤 打开 Visual c-+开发工貝软件 点击开始程序/ Microsoft visual studio60/ Microsoft visual c+6.0(图1-1) aa Microsoft Visual SourceSafe aa Microsoft Visual Studio 6.0 Enterprise Tools Microsoft Visual Studio 6.0 Tools ts microsoft Visual Basic 6.0 Microsoft Visual C++6.0 短 Microsoft Visual FoxPro (D Microsoft Visual InterDev 6.0 E: D: (Program FileslMicrosoft Visual 图1-1打开 Visual c+开发工具 2.创建一个新的项目 在 Visual c艹J发环境下,选择“File”菜单下的“New”菜单,点击进入“New”对话杝,选择 Projects”中的“ MFC App Wizard(exe)”,如图1-2是在路径“E:教学、”下创建工程“ ImageProcessEx” 在右侧选择T作路径,你艰据自己的学号或需要输入T程名称。 Files Projects Workspaces I other Documents Project name =d Cluster Rcsourcc Typc Wizard mageProcessEX FN Custom Appwizard spDatahase Project 54 Devstudio Add-in Wizard Location: E Extended Stored Proc Wizard FE教学 umageProcessEx 是 API Extcnsion wizar Makefile A MAILAB Proiect wizard EE MFC ActiveX Controlwizard c Create new workspace C AppWizard (dI C Add to current workspace MFC Appwizard exe New Database wizard I Dependency uf ri Utility Project 实win32 Application Yin 32 Con solc Application g]wIn32 DynamIc-LInk LIbrary 3win32 Static Library Platforms cYin32 K Cancel 图1-2New对话框 3.单击“OK”按钮,进入“ MFC App wizard”(MFC应用稈序向导)对话框(图1-3),根携提示依次进 行选择(共6步),直到最后出现 finish MFC AppWizard-Step ?x Fie Edt vie vida er What typc of application would you like to create? C Single dour e Multiple documents C Dialog based What language would you like your resources in? 中义国AW∠ CHS. DLL Back Next) Finish Cancel 图1-3 MFC App Wizard- Stepl对话框 在“ MFC App wizard-Step1”对话框中,三个单选项分别表示你构建的程序是基于单文档(如 windows 的 notebook)、多文档(如 Microsoft word)还是基于对诟框形式。复选框是文档/视图结构支持(对话框 结构时不支持)选项。下面的资源浯言选择项,用来为你的程序选择不同资源语言。若选择了英语[美 国][ APPWNENU. DLLI等其他资源语言,则在后面添加的菜单、对话框等资源中将不能正常显示中文。 MFC Appwizard-Step 2 of 6 ? ile Edit Yiew window Help What database support would you like to include? C Header files only C Database view without file support C Database view with file support If you include a database view, you must select a data source Data SOurce No data source is selected <Back Next Finish Cancel 图14 MFC App Wizard-Step2对话框 冬1-4"“ MFC App Wizard-S2”对话框用来为你的工程选择是否需要数据库支持以及选择什么样的 数据库和数据源。这里不做详细介绍,如感兴趣请査阅有关 Visual c++数据库编程的资料。 What compound document support would you like te include? C Full-scerver c Both container and server Activc document server r Active document container Wuuld yuu like suppurt fur compound files? C C No, thank you What other support would you like to includc? 厂 Automation Back Next Finish Cancel 图15 MFC App Wizard-Sep3对话框 冬1-5“ MFC App wizard-Step3”对话框是关于“ compound document support(复合文档攴持)”选项 和其他高级支持选项的,是针对用户的具体婁求将应用程序倣成特定的类型 将文本和图表同时保存在一个文档中,这样的文档就是一种复合文档。只由文本组成的文档不能称为 复合文档。如果应用稈序不需要设计成复合文档支持型的,就选择“None”选项:如果希望将应用稈序 做成一个全服务器的话,可以选择“ Full-server”选项;如果希望将应用程序做成一个容器的话,可以选 择“ Container”选项。所谓“容器”就是可以嵌入其他对象的应用程序。比如 Microsoft word就是一个容 器,因为在Wurd中以入的方式可加入一个位图对象,能容纳位图对象,因此称Word为容器。“Mini- server” 选仄也是一个服务器,满足其他应用,但它不能自己独立运行,必须由其他应用来启动运行。而与之相对 的“Full- server(完全报务器)”是可以单独运行的。 位于“ MFC App wizard-Step3”对话框下方的其他支持选项,一个是“ Automation(自动)”,与组件 对象模型( Component object Model,简弥(OM)关系密切。如果你要创建一个COM组件,又想在网络 上发布,那么最好选上该项。另一个是“ ActiveX Controls( Activeⅹ控件)”,是指创建的工程支持使用 ActiveX组件。 冬1-6给出的“ MFC App Wizard-Sep4”对话用来设计应用工程的一些外观特征,即用户界面功能。 其选项都十分直观叨了,如“ Docking tollbar(停泊工具栏)”、“ Initial status bar(初始状态栏)”“ Print and print preview(打印和打印预览)”、“ Context- sensitive Help(上下文相关帮助)”、“3 D controls(维控 件)”以及与网络编程有关的“MAPI”和“ Windows sockets( windows套接)”。再下面的选项是 toolbar 的外观样式选择。最下面的选项是设定文件打开菜单中需要保留最近打开文件的个数。点击旁边的 Advanced..”按钮,弹岀“ Advanced Option”对话框(图1-7)。该对话框有两个选项下,其中“ Document Template String(文档模板宁符串)”选项是对应用程序文裆的一些说明。这里有七个编辑框,都可以进行 修改,不过与其对它们进行修改,个如在生成应用程序之前给定应用程序的名称,这些编辑框中的值都会 以字符串的形式各自保存在一个宇符资源之中。其中筼一个编辑框中的字符串代表应用程序的扩展名,如 希望应用稈序的扩展名为“.bmp”,就可将第一个文本框“ File extension(文什扩展名)”中的内谷写为“bmp” Advanced Option”对话框的第二个选项“ Window styles(窗口类型)”是为选择合适的应用程序外观而 设计的,如果希望应用稈序一启动就具有最大化的特征,占据整个的桌面间,那么就选择“ Maximized (最大化)”复选框。其他复选框有关于拆分窗口等多个内容,试着修改这些属性,注意应用程序的外观 所发生的变化。 What features would you like to include? Edit vie Y Initial status b Contexhsensitive Help T MAPI (Messayiny APn Editing Coatrol:Record 厂 Windows Sockets on a Radio Datto How do you want your toolbars to look ReBars How many files would you like on your recent file (Back Next> Finish Cancel 图1-6 MFC App Wizard-Step4对话框 ?x adyaued Document Template Strings window Styles I Document Template Strings Window Styles Non-localized strings 厂 Use split window File extension: File type ID: Main frame style Image ProcessE. Docu Thick frame System menu Localized strings v Minimize box v Maximize bux 厂 Maximized Main frame caption 中文[中围 laye PrucessEx MDI child frame styles Doc type name Filter name. v Thick frame macp v Minimize box 厂 Minimized v Maximize box File new name(short File type name (long name: namel ageP Document Close (a) Document Template String选项卡 (b) Window styles选项卡 图1-7 MFC AppWizard-step4的 Advanced Option对话框 MFC Appwizard-Step 5 of 6 What style of project would you like? File Edit view hsert Bild Help C MFC Standard ;1o C Windows Explore would you like to generate source tile comments? c Yes, please No, thank you How would you like to use the MFC library? As a shared DLL C As a statically linked library <Back Next Finish Cancel 图1-8 MFC App Wizard-Step5对话框 冬1-8是“ MFC App wizard-Step5”对话框,包含应用程序选择界面样式、是否需要为应用程序产生 源文件注释和应用稈序将如何使用MFC库三项内容。其中,应用稈序界面样式可以有“ MFC Standard( MFC 标准)”和“ Windows explorer( Windows资源管理器)”两个可选项。在MFC库使用的选项中,可以选 择“ As a shared dll(作为一个共享的动杰链接库)”或“ As a statically linked library作为静☆链接库)”。 动态链接厍与静态链孩库的区别在于:动态链接在应用程序运行时才去真正调用动态链接库中的函数;在 编译过程中,动态链接库并不直接挂接在应用程序中,这样既节约计算机资源又减少了应用程序的代码量; 它可以为多个应用程序使用,但当一个应用柱序要使用某个动态链接库中的函数,则必须保证该动态链接 库存在,否则程序无法运行。同样,当发布应用程序时,也要将使用的动态链接库一同发布,否则用户无 法仗用应用稈序。静态钍接是在使用到某类及其成员函数时,要对类冇明确定义,并且冇编译过稈中要将 它们与应用程序紧密地链接在一起。所以,静态链接存在的最大问题是无论在哪个应用程序中使用,都必 须有类的源代码,否则便无法完成静态链接。这不仅使程序变得冗长,同时也浪费计算机资源。因此,选 择静态链接库方式生成的应用程序将比便用动态链接库方式的应用程序大许多。 MFC App wizard的最后一步是对应用稆序框架所定制生成的类的一个总结。根据前面几个步骤中的 选择,呈现T程所得到类的情况,还可以修改「程中存在的类的基类。比如,为了使视窗能完整显示各种 不同大小的影像,可将 CImageProcess Ex view类的基类设为 SCroll view(滚动视窗类)。 单“ Finish”按钮,可以看到集成开发环境列出了工稈的类型、工稈中包含的类以及所选昇面外观 特征等信息,如图1-10。点击“ New Project Information”对话枉的“OK”按钮后,开发环境便根据MFC pp wizard步骤-6的选择创建生成工程源程序,其工程开发环境界面如图1-所示。 X Appwizard creates the following classes fo 安 ClmageProcessEXAPp CHain Frame CHild Frame ClmageProcessExDoc Class name Header file CImage ProcessExVic Image ProcessExvicw Base class Implementation file CScrolView Image ProcessExView Rack Nexi> Finish Cancel 图1-9 MFC App wizard-Step6对话框 New Project Intormation AppwIzard will create a new skeleton project with the following specifications: pplication type of Image ProcessEX: Multiple Document Interlace Application targeting: Win32 Classes to be created: Application: CImage PrncessExApp in Image PracessEx h and ImageProcessE×cpp Frame: CMain Frame in Main Frm. h and Main Frm. cpp MDIChildFrame: CChildFrame in Childfrm. h and Child Frm. cpp Document: CImage ProcessExDoc in Image ProcessEXDoc h and Image PracessExDuc cpp Scrollview: CImage ProcessExview in Image ProcessExview h and Image ProcessEXview cpp Initial toolbar in main frame t Initial status bar in main frame Printing and Print Preview support in view t 3D Controls Uses shared DLL implementation [MF C42. DLL Project Directory. E学ψ mage ProcessEx 匚」cm 图1-10 New Project Information对活框

...展开详情
试读 92P 数字图像处理实习教程
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
u014563004 很好,如果有完整代码就完美了
2014-12-19
回复
城江再歌山 很不错,可以对照数字图像教材学习,不足之处是纸质版图书第四部分附录有实习的所有源代码,而PDF电子版木有这部分,有些可惜。但已经很不错了,起码看前面部分的话不用买图书。谢谢分享了
2014-12-17
回复
jiangchunxue24 还是可以的,就是没有代码。
2014-08-13
回复
追风筝的疯子 这个。。。同学把电子版放出来真的造福大众啊,不过推荐购买实体书,实体书的后面有所有的源代码可供参考;电子书中仅有前面基础教程部分哦~~~
2014-07-16
回复
小木虫168 很不错的教程,谢谢啦
2014-04-16
回复
孙中孟 十分的好,多谢楼主无私分享
2014-01-13
回复
晓非天翔 刚好要做课程设计,挺好的
2013-12-15
回复
smart_killer 还可以,免费的。
2013-11-05
回复
fengyuan111 教程很好,但是工具有点过时了
2013-10-15
回复
mahaifeng44 论文挺好的,值得学习。
2013-10-12
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚钱or赚积分
最新推荐
数字图像处理实习教程 28积分/C币 立即下载
1/92
数字图像处理实习教程第1页
数字图像处理实习教程第2页
数字图像处理实习教程第3页
数字图像处理实习教程第4页
数字图像处理实习教程第5页
数字图像处理实习教程第6页
数字图像处理实习教程第7页
数字图像处理实习教程第8页
数字图像处理实习教程第9页
数字图像处理实习教程第10页
数字图像处理实习教程第11页
数字图像处理实习教程第12页
数字图像处理实习教程第13页
数字图像处理实习教程第14页
数字图像处理实习教程第15页
数字图像处理实习教程第16页
数字图像处理实习教程第17页
数字图像处理实习教程第18页
数字图像处理实习教程第19页

试读结束, 可继续读1页

28积分/C币 立即下载 >