資源簡介
這是數學形態學中腐蝕與膨脹的源代碼,有需要的朋友請放心下載。

代碼片段和文件信息
#include?“stdafx.h“
#include?“cdib.h“
#include?“windowsx.h“
#include?“math.h“
#define?WIDTHBYTES(bits)????(((bits)?+?31)?/?32?*?4)?
CDib::CDib()
{
size=0;
}
CDib::~CDib()
{
????GlobalFreePtr(m_pBitmapInfo);
}
void?CDib::LoadFile(const?char*?dibFileName)
{
???strcpy(m_fileNamedibFileName);
????CFile?dibFile(m_fileName?CFile::modeRead);
????dibFile.Read((void*)&bitmapFileHeadersizeof(BITMAPFILEHEADER));
????if?(bitmapFileHeader.bfType?==?0x4d42)
????{
????????DWORD?fileLength?=?dibFile.GetLength();????
?????????size?=?fileLength?-sizeof(BITMAPFILEHEADER);
?????????pDib?=(BYTE*)GlobalAllocPtr(GMEM_MOVEABLE?size);
????????dibFile.Read((void*)pDib?size);
????????dibFile.Close();
????????m_pBitmapInfo?=?(BITMAPINFO*)?pDib;
????????m_pBitmapInfoHeader?=?(BITMAPINFOHEADER*)?pDib;
????????m_pRGB?=?(RGBQUAD*)(pDib?+
m_pBitmapInfoHeader->biSize);
????????int?m_numberOfColors?=?GetNumberOfColors();
????????if?(m_pBitmapInfoHeader->biClrUsed?==?0)
????????????m_pBitmapInfoHeader->biClrUsed?=
????m_numberOfColors;
????????DWORD?colorTableSize?=?m_numberOfColors?*
????????????sizeof(RGBQUAD);
????????m_pData?=?pDib?+?m_pBitmapInfoHeader->biSize
????????????+?colorTableSize;
if?(m_pRGB?==?(RGBQUAD*)m_pData)?//?No?color?table
m_pRGB?=?NULL;
????????m_pBitmapInfoHeader->biSizeImage?=?GetSize();
m_valid?=?TRUE;
????}????
????else
????{
????????m_valid?=?FALSE;
????????AfxMessageBox(“This?isn‘t?a?bitmap?file!“);
????}
}
BOOL?CDib::IsValid()
{
????return?m_valid;
}
????????
char*?CDib::GetFileName()
{
????return?m_fileName;
}
????????
UINT?CDib::GetWidth()
{
????return?(UINT)?m_pBitmapInfoHeader->biWidth;
}
????????
UINT?CDib::GetHeight()
{
????return?(UINT)?m_pBitmapInfoHeader->biHeight;
}
????????
DWORD?CDib::GetSize()
{
????if?(m_pBitmapInfoHeader->biSizeImage?!=?0)
????????return?m_pBitmapInfoHeader->biSizeImage;
else
????{
????????DWORD?height?=?(DWORD)?GetHeight();
????????DWORD?width?=?(DWORD)?GetWidth();
????????return?height?*?width;
????}
}
UINT?CDib::GetNumberOfColors()
{
int?numberOfColors;
????if?((m_pBitmapInfoHeader->biClrUsed?==?0)?&&
??????????(m_pBitmapInfoHeader->biBitCount?9))
{
switch?(m_pBitmapInfoHeader->biBitCount)
{
????case?1:?numberOfColors?=?2;?break;
????case?4:?numberOfColors?=?16;?break;
????case?8:?numberOfColors?=?256;
}
}
????else
numberOfColors?=?(int)?m_pBitmapInfoHeader->biClrUsed;
????return?numberOfColors;
}
DWORD?CDib::GetDibWidthBytes()
{??
byBitCount=m_pBitmapInfoHeader->biBitCount;
LONG?nWidth=m_pBitmapInfoHeader->biWidth;
dwWidthBytes?=?(DWORD)m_pBitmapInfoHeader->biWidth; //8-bits
if(byBitCount?==?1)?dwWidthBytes?=?(nWidth?+?7)?/?8;
else?if(byBitCount?==?4)?dwWidthBytes?=?(nWidth?+?1)?/?2;
else?if(byBitCount?==?24)?dwWidthBytes?=?3?*?nWidth?;
while((dwWidthBytes?&?3)?!=?0)dwWidthBytes++;
return?dwWidthBytes;
}??
????
BYTE*?CDib::GetData()
{
????r
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????300162??2004-07-29?20:33??腐蝕與膨脹\24位腐蝕原圖.bmp
?????文件???????3890??2004-04-01?17:30??腐蝕與膨脹\Cdib.cpp
?????文件????????853??2004-04-01?17:30??腐蝕與膨脹\Cdib.h
?????文件??????31328??2008-04-26?16:17??腐蝕與膨脹\DSplit.aps
?????文件???????3626??2008-04-26?16:18??腐蝕與膨脹\DSPLIT.CLW
?????文件???????4158??2003-04-01?08:51??腐蝕與膨脹\Dsplit.cpp
?????文件???????5174??2004-04-01?22:50??腐蝕與膨脹\DSplit.dsp
?????文件????????579??1999-01-28?11:36??腐蝕與膨脹\DSPLIT.DSW
?????文件???????1366??2003-04-01?08:51??腐蝕與膨脹\Dsplit.h
?????文件?????992256??2008-04-26?16:29??腐蝕與膨脹\DSPLIT.NCB
?????文件??????82944??2008-04-26?16:29??腐蝕與膨脹\DSPLIT.OPT
?????文件???????2834??2008-04-26?16:17??腐蝕與膨脹\DSPLIT.PLG
?????文件??????13252??2004-09-20?17:03??腐蝕與膨脹\DSplit.rc
?????文件???????2008??2003-04-01?08:45??腐蝕與膨脹\DSplitDoc.cpp
?????文件???????1509??2003-04-03?17:12??腐蝕與膨脹\DSplitDoc.h
?????文件???????3238??2003-04-02?16:45??腐蝕與膨脹\Dsplitview.cpp
?????文件???????1859??2003-04-01?08:27??腐蝕與膨脹\Dsplitview.h
?????文件???????6439??2003-04-02?10:18??腐蝕與膨脹\DYNSPLITTERWND.CPP
?????文件???????1733??1998-03-10?17:19??腐蝕與膨脹\DYNSPLITTERWND.H
?????文件???????6587??2004-07-29?20:31??腐蝕與膨脹\DynSplitView2.cpp
?????文件???????2136??2003-05-29?07:36??腐蝕與膨脹\DynSplitView2.h
?????文件??????18279??2004-09-13?20:39??腐蝕與膨脹\FuShiYuPengZhangDib.cpp
?????文件????????397??2003-04-27?11:19??腐蝕與膨脹\FuShiYuPengZhangDib.h
?????文件???????3550??2003-04-03?17:15??腐蝕與膨脹\MAINFRM.CPP
?????文件???????1691??2003-04-02?17:00??腐蝕與膨脹\MAINFRM.H
?????文件???????4035??1998-02-03?10:42??腐蝕與膨脹\README.TXT
?????文件???????8888??2008-04-26?16:17??腐蝕與膨脹\Release\Cdib.obj
?????文件??????????0??2008-04-26?16:17??腐蝕與膨脹\Release\Cdib.sbr
?????文件????2368512??2008-04-26?16:17??腐蝕與膨脹\Release\DSplit.bsc
?????文件??????15854??2008-04-26?16:17??腐蝕與膨脹\Release\DSplit.obj
............此處省略36個文件信息
- 上一篇:Fluent UDF-馬世虎翻譯版.zip
- 下一篇:基于51單片機汽車尾燈設計論文
評論
共有 條評論