- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++图像处理集中实习指导书.doc
数字图像处理集中实习指导书
本文基于VC++6.0开发环境,介绍数字图像处理的基本操作和处理。
一、工程的建立
1、运行Microsoft Visual C++程序,进入VC++主界面。
2、单击“File”菜单,选择“New”来新建,在出现的对话框中选择Project,并选择“MFC AppWizard[exe]”,表示建立一个MFC应用向导支持的工程文件。然后在右边输入工程名称(本文为“B”为例)和该工程存储地址,工程名要求为4位数字,如某同学是3班,学号为4,则工程命名为“0304”,输入完毕后单击“OK”。
3、下面的六个步骤中,前五个选择默认,第六个步骤中,将视图类的基类更改为CSrollView类,然后点击完成。
通过这些步骤就可以建立一个Windows风格的工程,这个工程也是今后进行VC图像处理的基础。点击编译、连接,没有错误和警告,然后运行,会出现一个应用程序界面,界面具有文件、编辑、查看、窗口和帮助这些菜单,点击其子菜单,发现程序什么也没执行,这需要我们为它加入相关的功能。
二、加载位图类
1、将已经写好的位图类文件Dib.h和Dib.cpp拷贝到工程文件夹的根目录下,点击主菜单Project,选择Add to Project下的Files,然后选择位图类的头文件和cpp文件,这时,该视图类就加到工程中了,在左边项目工作区的ClassView中就可以看到该类的列表。展开每个类,可看到每个类的变量和函数。
2、编译、连接无错误后,可以运行。
三、读写位图
1、在视图类的cpp文件中包含dib.h头文件,并生成一个CDib对象:CDib dib;
2、在视图类头文件的构造函数中加入3个成员变量如下:
BYTE *m_pBitmap;
DWORD m_dwHeight, m_dwWidth;
WORD m_flag;
分别表示数据指针、图像的高度、图像的宽度和图像的类型。
在析构函数中加入if(m_pBitmap) delete m_pBitmap;
3、添加“打开”消息响应函数。可用“Ctrl+W”打开类向导对话框,选择视图类中的打开文件ID号,选择COMMAND命令类型,点击“Add Function”按钮,选择默认的函数名,进入该函数,键入如下代码行,进行读图像:
CString strFileName;
static char szFilter[]=BMP文件(*.bmp)|*.bmp||;
CFileDialog dlg(TRUE, bmp, NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter);
if(dlg.DoModal()!=IDOK) return;
strFileName=dlg.GetPathName();
(this-GetDocument())-SetTitle(strFileName);
if(!dib.LoadBmpFile(strFileName,m_pBitmap,m_dwHeight,m_dwWidth,m_flag))
return;
Invalidate(true);
4、在视图类的OnDraw函数中加如下代码显示图像:
RECT rectDoc;
GetClientRect(rectDoc);
CSize pageSize(rectDoc.right, rectDoc.bottom);
CSize lineSize(100,1);
CSize docSize(0,0);
RECT rect;
GetClientRect(rect);
BYTE *pImageDisp = NULL;
BITMAPINFO *pBmpInfo = NULL;
//设置在指定设备内容中(显卡内存)的拉伸模式
pDC-SetStretchBltMode(COLORONCOLOR);
if(m_pBitmap)
{
dib.TransToBmp(m_dwHeight, m_dwWidth, m_pBitmap, pImageDisp, m_flag);
dib.CreateBITMAPINFO(pBmpInfo, m_dwHeight, m_dwWidth, m_flag);
//拷贝内存数据到显示器
StretchDIBits(pDC-GetSafeHdc(),
rect.left, rect.top,
m_dwWidth, m_dwHeight,
0,0,
m_dwWidth, m_dwHeight,
pImageDisp,
pBmpInfo,
DIB_RGB_COLORS,
SRCCOPY);
您可能关注的文档
- TBBz系列变电站自动补偿成套装置.doc
- TGX015-2008 轻粗骨料承压筒校验记录.xls
- TGX021砂浆稠度仪校验记录.doc
- TGX022砂浆分层度仪校验记录.doc
- ThRn-222连续测氡仪.doc
- TJ165架桥机架设铁路T梁施工技术.ppt
- TLHG-606变电站电气设备交流耐压试验装置产品介绍.doc
- toc将力量集中在刀刃上.doc
- ts2111特质钢质修补剂中文说明.doc
- TSG D0001-2009压力管道安全技术监察规程.doc
- 《GB/Z 44363-2024致热性 医疗器械热原试验的原理和方法》.pdf
- GB/T 16716.6-2024包装与环境 第6部分:有机循环.pdf
- 中国国家标准 GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 《GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统》.pdf
- GB/T 44376.1-2024微细气泡技术 水处理应用 第1 部分:亚甲基蓝脱色法评价臭氧微细气泡水发生系统.pdf
- 中国国家标准 GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 44305.2-2024塑料 增塑聚氯乙烯(PVC-P)模塑和挤塑材料 第2部分:试样制备和性能测定.pdf
- 《GB/T 44315-2024科技馆展品设计通用要求》.pdf
- GB/T 44315-2024科技馆展品设计通用要求.pdf
- GB/T 39560.9-2024电子电气产品中某些物质的测定 第9 部分:气相色谱-质谱法(GC-MS)测定聚合物中的六溴环十二烷.pdf
最近下载
- 国家法定41种传染病大全(就诊科室、传播途径、病原体、检测方法等)及防护措施.doc
- QC╱T 1128-2019 汽车用摄像头(报批稿).pdf
- 笔记本电脑图纸Lenovo Ideapad Y470 (Compal LA-6881).pdf
- GB50487-2008 (2022年版) 水利水电工程地质勘察规范.pdf
- 2021卫生高级职称《中西医结合》题库及答案.docx
- 副研究馆员工作总结与计划范文.pdf
- 《幼儿教育中“去小学化”探究》课题结题报告.doc
- 除尘设备检修工艺规程.doc
- 部编版语文四年级上册雪梅(教案).docx VIP
- 【精品】实验小学课本剧《愚公移山》剧本.docx VIP
文档评论(0)