ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:110KB ,
资源ID:774614      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-774614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数学形态学处理程序实例.DOC)为本站会员(国***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

数学形态学处理程序实例.DOC

1、数学形态学处理程序实例/ JEFFView.cpp : implementation of the CJEFFView class/#include “stdafx.h“#include “JEFF.h“#include “JEFFDoc.h“#include “JEFFView.h“#define Out(x,y) lpPoints(x)+(y)*nWidth#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CJEFFViewIMPLEMENT_DYNCREATE(

2、CJEFFView, CScrollView)BEGIN_MESSAGE_MAP(CJEFFView, CScrollView)/AFX_MSG_MAP(CJEFFView)ON_COMMAND(ID_EROSION, OnErosion)ON_COMMAND(ID_DILATION, OnDilation)ON_COMMAND(ID_OPEN, OnOpen)ON_COMMAND(ID_CLOSE, OnClose)ON_COMMAND(ID_ZAOSHENG, OnZaosheng)ON_COMMAND(ID_BIANYUAN, OnBianyuan)ON_COMMAND(ID_1, On

3、1)ON_COMMAND(ID_2, On2)ON_COMMAND(ID_4, On4)ON_COMMAND(ID_8, On8)ON_COMMAND(ID_DILATION2, OnDilation2)ON_COMMAND(ID_EROSION2, OnErosion2)ON_COMMAND(ID_OPEN2, OnOpen2)ON_COMMAND(ID_CLOSE2, OnClose2)ON_COMMAND(ID_SMOOTH, OnSmooth)ON_COMMAND(ID_RELOAD, OnReload)ON_COMMAND(ID_TIDU, OnTidu)ON_COMMAND(ID_

4、BIANYUAN_H, OnBianyuanH)ON_COMMAND(ID_QUSE, OnQuse)ON_WM_LBUTTONDOWN()/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CScrollView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView:OnFilePrintPreview)END_MESSAGE_MAP()/

5、 CJEFFView construction/destructionCJEFFView:CJEFFView()/ TODO: add construction code hereValidDoc=FALSE;m_i=1;CJEFFView:CJEFFView()BOOL CJEFFView:PreCreateWindow(CREATESTRUCT/ CJEFFView drawingvoid CJEFFView:OnDraw(CDC* pDC)CJEFFDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for

6、 native data hereif (pDoc-lpBitmap)ValidDoc=TRUE;nWidth=pDoc-nWidth;nHeight=pDoc-nHeight;lpBits=pDoc-lpBits;lpPoints=pDoc-lpPoints;BITMAPINFOHEADER bmi;bmi.biSize=sizeof(BITMAPINFOHEADER);bmi.biWidth=nWidth;bmi.biHeight=nHeight;bmi.biPlanes=1;bmi.biBitCount=24;bmi.biCompression=BI_RGB;bmi.biSizeImag

7、e=0;bmi.biXPelsPerMeter=0;bmi.biYPelsPerMeter=0;bmi.biClrUsed=0;bmi.biClrImportant=0;StretchDIBits(pDC-m_hDC,0,0,nWidth*m_i,nHeight*m_i,0,0,nWidth,nHeight,lpBits,(BITMAPINFO *)void CJEFFView:OnInitialUpdate()CScrollView:OnInitialUpdate();CSize sizeTotal;/ TODO: calculate the total size of this views

8、izeTotal.cx =2000; sizeTotal.cy = 1700;SetScrollSizes(MM_TEXT, sizeTotal);/ CJEFFView printingBOOL CJEFFView:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinting(pInfo);void CJEFFView:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization be

9、fore printingvoid CJEFFView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CJEFFView diagnostics#ifdef _DEBUGvoid CJEFFView:AssertValid() constCScrollView:AssertValid();void CJEFFView:Dump(CDumpContextCJEFFDoc* CJEFFView:GetDocument() / non-debug version is inl

10、ineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CJEFFDoc);return (CJEFFDoc*)m_pDocument;#endif /_DEBUG/ CJEFFView message handlers/二值形态学:腐蚀void CJEFFView:OnErosion() int *lpMarks=new intnWidth*nHeight;int x,y,x1,y1;int count;/中间变量for(y=1;yPutPoint();Invalidate();/二值形态学:膨胀void CJEFFView:OnDilation() int

11、 x,y,x1,y1;int count;/中间变量int *lpMarks=new intnWidth*nHeight;for(y=1;yPutPoint();Invalidate();/二值形态学:开启void CJEFFView:OnOpen() /先腐蚀后膨胀OnErosion();OnDilation();/二值形态学:闭合void CJEFFView:OnClose() /先膨胀后腐蚀OnDilation();OnErosion();/二值形态学:噪声滤除void CJEFFView:OnZaosheng() /先开启后闭合OnOpen();OnClose();/二值形态学:边缘提

12、取void CJEFFView:OnBianyuan() int *lpMarks=new intnWidth*nHeight;/用于保存腐蚀图象灰度值int *lpMarks1=new intnWidth*nHeight;/用于保存原图象灰度值int x,y,x1,y1,count;for(y=0;yPutPoint();Invalidate();/放大镜:1 倍void CJEFFView:On1() m_i=1;Invalidate();/放大镜:2 倍void CJEFFView:On2() m_i=2;Invalidate();/放大镜:4 倍void CJEFFView:On4()

13、 m_i=4;Invalidate();/放大镜:8 倍void CJEFFView:On8() m_i=8;Invalidate();/灰度形态学:膨胀void CJEFFView:OnDilation2() int *lpMarks=new intnWidth*nHeight;/定义一块内存,大小为图象像素数int x,y,x1,y1,s,t;for(y=1;yPutPoint();Invalidate();/灰度形态学:腐蚀void CJEFFView:OnErosion2() int x,y,x1,y1,s,t;int *lpMarks=new intnWidth*nHeight;/定

14、义一块内存,大小为图象像素数for(y=1;yt) t=s;/将九个点灰度的最大值传给 t lpMarksx+y*nWidth=t;/将处理后的图像灰度值暂存于内存中 for(y=1;yPutPoint();Invalidate();/灰度形态学:开启void CJEFFView:OnOpen2() /先腐蚀后膨胀OnErosion2();OnDilation2();/灰度形态学:闭合void CJEFFView:OnClose2() /先膨胀后腐蚀OnDilation2();OnErosion2();/灰度形态学:平滑void CJEFFView:OnSmooth() /先开启后闭合OnOpen2();OnClose2();/灰度形态学:梯度void CJEFFView:OnTidu() / TODO: Add your command handler code hereint *lpMarks=new intnWidth*nHeight;int x,y,x1,y1,s,t;for(y=1;ynHeight-1;y+)for(x=1;xnWidth-1;x+)s=t=255;for(y1=-1;y12;y1+) for(x1=-1;x12;x1+) s=Out(x+x1,y+y1);if(st) t=s;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。