欢迎来到天天文库
浏览记录
ID:12660604
大小:32.00 KB
页数:8页
时间:2018-07-18
《数学形态学的腐蚀和膨胀运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学形态学的腐蚀和膨胀运算 "形态学"是描述动植物形态和结构的一门生物学分支,这里借用来指一种图像处理的方法.图像处理的形态学方法是一种"数学形态学"方法,用来提取图像成分,并据此来对图像区域的形状进行表示和描述.它的数学语言是集合理论,其中的集合代表图像中物体的形状.图像处理中常用的数学形态学方法包括腐蚀,膨胀,开,闭,边缘提取和图像细化.我依次给出VisualC++源代码:/**********************************************************
2、*****************ErosionDIB()**Parameters:**HDIBhDib -objectiveDIBhandle*BOOLbHori -erosiondirection**ReturnValue:**BOOL -Trueissuccess,elseFalse**Description:**Thisfunctiondoerosionwiththespecifieddirection**********************
3、***************************************************/BOOLErosionDIB(HDIBhDib,BOOLbHori){//startwaitcursorWaitCursorBegin(); //OldDIBbufferif(hDib==NULL){ WaitCursorEnd(); returnFALSE;}//onlysupport256colorimageWORDwBitCount=DIBBitCount(hDib
4、);if(wBitCount!=8){ WaitCursorEnd(); returnFALSE;}//newDIBHDIBhNewDIB=CopyHandle(hDib);if(!hNewDIB){ WaitCursorEnd(); returnFALSE;}//sourcedibbuffer LPBITMAPINFOlpSrcDIB=(LPBITMAPINFO)GlobalLock(hDib);if(!lpSrcDIB){ WaitCursorBegi
5、n(); returnFALSE;} //NewDIBbuffer LPBITMAPINFOlpbmi=(LPBITMAPINFO)GlobalLock(hNewDIB);if(!lpbmi){ WaitCursorBegin(); returnFALSE;}//starterosion...LPSTRlpPtr;LPSTRlpTempPtr;LONG x,y;BYTE num,num0;int i;LONGlHeight=DIBHeight(lpSrcDIB);LONG
6、lWidth=DIBWidth(lpSrcDIB);DWORDdwBufferSize=GlobalSize(lpSrcDIB);intnLineBytes=BytesPerLine(lpSrcDIB);if(bHori){ for(y=0;y7、tes-y*nLineBytes)+1; for(x=1;xnum0) num0=num; } *lpTempPtr=(unsignedchar)num0; /* num=(unsignedchar)*lpPtr; if(num==0) { 8、 *lpTempPtr=(unsignedchar)0; for(i=0;i<3;i++) { num=(unsignedchar)*(lpPtr+i-1); if(num==255) { *lpTempPtr=(unsignedchar)255; break; } } } else *lpTempPtr=(unsignedchar)255; */ lpPtr++; lpTempPt
7、tes-y*nLineBytes)+1; for(x=1;xnum0) num0=num; } *lpTempPtr=(unsignedchar)num0; /* num=(unsignedchar)*lpPtr; if(num==0) {
8、 *lpTempPtr=(unsignedchar)0; for(i=0;i<3;i++) { num=(unsignedchar)*(lpPtr+i-1); if(num==255) { *lpTempPtr=(unsignedchar)255; break; } } } else *lpTempPtr=(unsignedchar)255; */ lpPtr++; lpTempPt
此文档下载收益归作者所有