xhuxuexingtaixue.zip

  • PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 467KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2009-05-21 08:15
    上传日期
有关数学形态学的相关信息,还有一些小代码和程序和一些说明
xhuxuexingtaixue.zip
  • 图象处理与分析数学形态学方法及应用
  • exe
  • 112.bmp
    225.1KB
  • MsVnt.exe
    820KB
  • c
  • Binary.c
    36.3KB
  • Gray.c
    16.5KB
  • www.pudn.com.txt
    218B
内容介绍
int Mask1[9][2] = { {0,-1}, {-1,0}, {0, 0}, {1, 0}, {0,1} }; long MaskLen1 = 5; int Mask2[9][2] = { {-1,-1},{0,-1},{1,-1}, {-1, 0},{0, 0},{1, 0}, {-1, 1},{0, 1},{1, 1} }; long MaskLen2 = 9; int Mask3[9][2] = { {0,1}, {1,1}, {0,0}, {1,0} }; long MaskLen3 = 4; int Mask4[9][2] = { {-1,0}, {-1,-1}, {0,-1} }; long MaskLen4 = 3; //left_bottom int Mask5[9][2] = { {0, 0}, {-1, 0}, {0,-1}, {-1,-1} }; long MaskLen5 = 4; int Mask6[9][2]= { {1,1}, {0,1}, {1,0} }; long MaskLen6 = 3; //right_bottom int Mask7[9][2] = { {-1,0},{0,0}, {-1,1},{0,1} }; long MaskLen7 = 4; int Mask8[9][2] = { {0,-1}, {1,-1}, {1,0} }; long MaskLen8 = 3; //right_up int Mask9[9][2] = { {0,-1},{1,-1}, {0, 0},{1, 0} }; long MaskLen9 = 4; int Mask10[9][2] = { {-1,0}, {-1,1}, {0,1} }; long MaskLen10 = 3; //left_up int Mask11[9][2] = { {-1,1}, {0,1}, { 1,1}, {0,0} }; long MaskLen11 = 4; int Mask12[9][2] = { {-1,-1}, {0,-1}, {1,-1} }; long MaskLen12 = 3; //left_bottom int Mask13[9][2] = { {0, 0}, {1,-1}, {0,-1},{-1,-1} }; long MaskLen13 = 4; int Mask14[9][2] = { {1,1},{0,1}, {-1,1} }; long MaskLen14 = 3; //right_bottom int Mask15[9][2]= { {-1,0},{0, 0}, {-1,1},{-1,-1} }; long MaskLen15 = 4; int Mask16[9][2] = { {1,-1},{1,0}, {1,1} }; long MaskLen16 = 3; //right_up int Mask17[9][2] = { {0,1},{1, 1}, {0,0},{-1,1} }; long MaskLen17 = 4; int Mask18[9][2] = { {-1,0}, {-1,1}, {-1,-1} }; long MaskLen18 = 3; //left_up int Mask19[9][2] = { {0,0},{0,-1} }; long MaskLen19 = 2; int Mask20[9][2] = { {-1,1}, {0,1}, {1,1}, {-1,0},{1,0} }; long MaskLen20 = 5; //TOP PRUNE MASK int Mask21[9][2] = { {0,0}, {0,1} }; long MaskLen21 = 2; int Mask22[9][2] = { {-1,-1},{0,-1},{1,-1}, {-1,0}, {1,0} }; long MaskLen22 = 5; //BOTTOM PRUNE MASK int Mask23[9][2] = {{0,0},{1,0},}; long MaskLen23 = 2; int Mask24[9][2] = { {-1,-1},{-1,0},{-1,1}, {0,-1},{0,1} }; long MaskLen24 = 5; //LEFT PRUNE MASK int Mask25[9][2] = {{0,0},{-1,0},}; long MaskLen25 = 2; int Mask26[9][2] = { {1,-1},{1,0},{1,1}, {0,-1},{0,1} }; long MaskLen26 = 5; //RIGHT PRUNE MASK int Mask27[9][2] = {{0,0},{-1,-1},}; long MaskLen27=2; int Mask28[9][2] = { {1,1},{-1,0},{-1,1}, {0,-1},{0,1},{1,-1} }; long MaskLen28 = 6; //LEFT-UP PRUNE MASK int Mask29[9][2] = { {0,0},{-1,1} }; long MaskLen29=2; int Mask30[9][2] = { {1, 1},{-1,0},{-1,-1}, {0,-1},{0, 1},{1, -1} }; long MaskLen30 = 6; //LEFT-DOWN PRUNE MASK int Mask31[9][2] = { {0,0},{1,-1} }; long MaskLen31 = 2; int Mask32[9][2] = { {1,1},{-1,0},{-1,-1}, {0,-1},{0,1},{-1, 1} }; long MaskLen32 = 6; //RIGHT-UP PRUNE MASK int Mask33[9][2] = { {0,0},{1,1} }; long MaskLen33 =2; int Mask34[9][2] = { {-1,1},{-1,0},{-1,-1}, {0,-1},{0, 1},{ 1,-1} }; long MaskLen34=6; //RIGHT-DOWN PRUNE MASK /**************************************************************************** FUNCTION: BineryProcess(HWND hWnd,WORD maskstyle,int r,int UEstep, WORD ProcessID) PURPOSE: Processes binary bitmaps PARAMETERS: r: radiu of structrue element maskstyle: mask type COMMENTS: ******************************************************************************/ BOOL FAR PASCAL BineryProcess(HWND hWnd,HANDLE hChildInfo, WORD ProcessID) { DWORD size,offset; LONG bmpWid,bmpHei,bytew; LONG t,m; BYTE k; int clrNum; BYTE huge* hpIMAGE; LPBITMAPINFOHEADER lpbi; LPDIBCHILDINFO lpChildInfo; HANDLE hDIBInfo; WORD maskstyle; int r, UEstep=5; BOOL SKL=FALSE,BL; lpChildInfo=(LPDIBCHILDINFO)GlobalLock(hChildInfo); hDIBInfo=lpChildInfo->hDIB; maskstyle=lpChildInfo->StructOption.wBineryMaskStyle; r=lpChildInfo->StructOption.wBineryRadiu; GlobalUnlock(hChildInfo); lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDIBInfo); if(lpbi==NULL) { MessageBox(hWnd, "Bad LOCK", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } bmpWid=lpbi->biWidth; //bitmap width by pixels bmpHei=lpbi->biHeight; //bitmap height by pixels bytew=((bmpWid+31)/32)*4; //bitmap width by bytes size=bytew*bmpHei; clrNum=1<<lpbi->biBitCount; //color number used in bitmap offset = lpbi->biSize +(LONG)clrNum*sizeof(RGBQUAD); //bit offset from the beginning of //the bitmapinfoheader GlobalUnlock(hDIBInfo); switch(ProcessID) { case IDM_ERROSION: hDIBInfo = GlobalReAlloc(hDIBInfo, offset+size*2, GMEM_MOVEABLE); if (hDIBInfo==NULL) // can't resize buffer for loading { MessageBox(hWnd, "Bad Realloc", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } hpIMAGE = (BYTE huge *)GlobalLock(hDIBInfo); if(hpIMAGE==NULL) { MessageBox(hWnd, "Bad LOCK", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } for(t=0;t<r;t++) { basicerrosion(hpIMAGE+offset,hpIMAGE+offset+size,maskstyle,bytew,bmpWid,bmpHei); } break; //do errosion according to maskstyle and radiu case IDM_DILATION: hDIBInfo = GlobalReAlloc(hDIBInfo, offset+size*2,GMEM_MOVEABLE ); if (hDIBInfo==NULL) // can't resize buffer for loading { MessageBox(hWnd, "Bad Realloc", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } hpIMAGE = (BYTE huge *)GlobalLock(hDIBInfo); if(hpIMAGE==NULL) { MessageBox(hWnd, "Bad LOCK", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } for(t=0;t<r;t++) { basicdilation(hpIMAGE+offset,hpIMAGE+offset+size,maskstyle,bytew,bmpWid,bmpHei); } break; case IDM_BCLOSE: hDIBInfo = GlobalReAlloc(hDIBInfo, offset+size*2, GMEM_MOVEABLE); if (hDIBInfo==NULL) // can't resize buffer for loading { MessageBox(hWnd, "Bad Realloc", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } hpIMAGE = (BYTE huge *)GlobalLock(hDIBInfo); if(hpIMAGE==NULL) { MessageBox(hWnd, "Bad LOCK", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } for(t=0;t<r;t++) { basicdilation(hpIMAGE+offset,hpIMAGE+offset+size,maskstyle,bytew,bmpWid,bmpHei); } for(t=0;t<r;t++) { basicerrosion(hpIMAGE+offset,hpIMAGE+offset+size,maskstyle,bytew,bmpWid,bmpHei); } break; case IDM_BOPEN: hDIBInfo = GlobalReAlloc(hDIBInfo, offset+size*2, GMEM_MOVEABLE); if (hDIBInfo==NULL) // can't resize buffer for loading { MessageBox(hWnd, "Bad Realloc", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } hpIMAGE = (BYTE huge *)GlobalLock(hDIBInfo); if(hpIMAGE==NULL) { MessageBox(hWnd, "Bad LOCK", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } for(t=0;t<r;t++) { basicerrosion(hpIMAGE+offset,hpIMAGE+offset+size,maskstyle,bytew,bmpWid,bmpHei); } for(t=0;t<r;t++) { basicdilation(hpIMAGE+offset,hpIMAGE+offset+size,maskstyle,bytew,bmpWid,bmpHei); } break; case IDM_8HMT: hDIBInfo = GlobalReAlloc(hDIBInfo, offset+size*4, GMEM_MOVEABLE); if (hDIBInfo==NULL) // can't resize buffer for loading { MessageBox(hWnd, "Bad Realloc", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } hpIMAGE = (BYTE huge *)GlobalLock(hDIBInfo); if(hpIMAGE==NULL) { MessageBox(hWnd, "Bad LOCK", "Error", MB_ICONSTOP | MB_OK); return(FALSE); } BL=TRUE;
评论
    相关推荐
    • 数据库课程设计
      一个数据库课程设计,access管理工具实现,用的是窗体!
    • 数据库课程设计
      数据库课程设计十分完整有需要的请下载啊谢谢
    • 数据库课程设计
      广东工业大学数据库课程设计,可视化界面连接数据库,delphi7
    • 数据库课程设计
      数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述
    • 数据库课程设计
      数据库课程设计》由周爱武、汪海威、肖云编著,遵循数据库课程设计的具体要求,独立于具体的数据库教材,从实际应用系统的需求着手,引导读者逐步完成数据库设计全过程,重点讲解数据库系统的需求分析、概念设计、...
    • 数据库课程设计
      数据库课程设计人事管理系统 数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计...
    • 数据库课程设计
      数据库课程设计,基于visual basic自助银行管理系统,界面很清爽,实用。同学都说好,所以就上传了!!!
    • 数据库课程设计
      数据库课程设计 里面有详细的文档资料 包含数据库一切的图 以及生成的数据库表文件 期末得分为优秀
    • 数据库课程设计
      可以作为数据库课程设计,也可以作为Java的课程设计,内容全面。本资源转载的,非本人原创。用于交流学习,特此申明!
    • 数据库课程设计
      数据库课程设计蓝天大学学生管理系统 2.商店信息管理系统 3.实验室机房收费管理系统 4.图书馆资料检索系统 5.企业库存管理系统 6.仓库管理系统 7.工程项目管理系统 8.教材管理系统 9.企业人事管理系统 10.企业财务...