資源簡介
用MATLAB 實現兩幅有重疊區域圖像的拼接,很好用。

代碼片段和文件信息
//?cdib.cpp
#include?“stdafx.h“
#include?“math.h“
//??#include?“process.h“??????//后來刪除,暫時不發現影響
#include?“cdib.h“
#include?“GlobalApi.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
//?聲明串行化過程
IMPLEMENT_SERIAL(CDib?Cobject?0);
/*************************************************************************
?*
?*?\函數名稱:
?*???CDib()
?*
?*?\輸入參數:
?*?無
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???構造函數
?*
?************************************************************************
?*/
CDib::CDib()
{
m_hFile??????=?NULL;
m_hBitmap????=?NULL;
m_hPalette???=?NULL;
m_nBmihAlloc?=?m_nImageAlloc?=?noAlloc;
Empty();
}
/*************************************************************************
?*
?*?\函數名稱:
?*???CDib()
?*
?*?\輸入參數:
?*?CSize size -?位圖尺寸
?*?int nBitCount -?象素位數
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???構造函數
?*???根據給定的位圖尺寸和象素位數構造CDib對象,并對信息頭和調色板分配內存
?*???但并沒有給位圖數據分配內存
?*
?************************************************************************
?*/
CDib::CDib(CSize?size?int?nBitCount)
{
m_hFile??????=?NULL;
m_hBitmap????=?NULL;
m_hPalette???=?NULL;
m_nBmihAlloc?=?m_nImageAlloc?=?noAlloc;
Empty();
//?根據象素位數計算調色板尺寸
ComputePaletteSize(nBitCount);
//?分配DIB信息頭和調色板的內存
m_lpBMIH?=?(LPBITMAPINFOHEADER)?new?
char[sizeof(BITMAPINFOHEADER)?+?sizeof(RGBQUAD)?*?m_nColorTableEntries];
//?設置信息頭內存分配狀態
m_nBmihAlloc?=?crtAlloc;
//?設置信息頭中的信息
m_lpBMIH->biSize =?sizeof(BITMAPINFOHEADER);
m_lpBMIH->biWidth =?size.cx;
m_lpBMIH->biHeight =?size.cy;
m_lpBMIH->biPlanes =?1;
m_lpBMIH->biBitCount =?nBitCount;
m_lpBMIH->biCompression?=?BI_RGB;
m_lpBMIH->biSizeImage =?0;
m_lpBMIH->biXPelsPerMeter?=?0;
m_lpBMIH->biYPelsPerMeter?=?0;
m_lpBMIH->biClrUsed =?m_nColorTableEntries;
m_lpBMIH->biClrImportant=?m_nColorTableEntries;
//?計算圖象數據內存的大小,并設置此DIB的調色板的指針
ComputeMetrics();
//?將此DIB的調色板初始化為0
memset(m_lpvColorTable?0?sizeof(RGBQUAD)?*?m_nColorTableEntries);
//?暫時不分配圖象數據內存
m_lpImage?=?NULL;?
}
/*************************************************************************
?*
?*?\函數名稱:
?*???~CDib()
?*
?*?\輸入參數:
?*?無
?*
?*?\返回值:
?*???無
?*
?*?\說明:
?*???析構函數,并釋放所有分配的DIB內存
?*
?************************************************************************
?*/
CDib::~CDib()
{
Empty();
}
/*************************************************************************
?*
?*?\函數名稱:
?*???GetDimensions()
?*
?*?\輸入參數:
?*???無
?*
?*?\返回值:
?*???CSize -?DIB的寬度和高度
?*
?*?\說明:
?*???返回以象素表示的DIB的寬度和高度
?*
?************************************************************************
?*/
CSize?CDib::GetDimensions()
{
if(m_lpBMIH?==?NULL)?return?CSize(0?0);
return?CSize((int)?m_lpBMIH->biWidth?(int)?m_lpBMIH->biHeight);
}
/*************************************************************************
?*
?*?\函數名稱:
?*???AttachMapFile()
?*
?*?\輸入參數:
?*???const char*?strPathname -?映射文件的路徑
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????143062??2007-04-18?20:38??ImageProcessing1\3.BMP
?????文件?????138514??2007-04-18?20:39??ImageProcessing1\4.BMP
?????文件??????38683??2007-04-24?17:17??ImageProcessing1\cdib.cpp
?????文件???????3673??2004-06-11?14:52??ImageProcessing1\cdib.h
?????文件???????1542??1995-08-03?13:28??ImageProcessing1\ChildFrm.cpp
?????文件???????1397??1995-08-03?13:28??ImageProcessing1\ChildFrm.h
?????文件??????65095??1995-09-27?16:03??ImageProcessing1\ColorTable.h
?????文件?????????57??1995-08-03?13:28??ImageProcessing1\Default.SUP
?????文件??????17030??1995-08-03?13:28??ImageProcessing1\DIBPrcs.cpp
?????文件???????7646??1995-08-03?13:28??ImageProcessing1\DibShow.cpp
?????文件???????5380??2005-03-18?22:37??ImageProcessing1\DlgAftReg.cpp
?????文件???????1465??2004-06-12?02:38??ImageProcessing1\DlgAftReg.h
?????文件???????1058??2005-03-22?03:00??ImageProcessing1\DlgCAP.cpp
?????文件???????1198??2005-03-22?03:00??ImageProcessing1\DlgCAP.h
?????文件???????9285??1996-11-01?02:40??ImageProcessing1\DlgEhnLinTrans.cpp
?????文件???????1993??1996-11-01?01:56??ImageProcessing1\DlgEhnLinTrans.h
?????文件???????1813??1995-09-27?15:57??ImageProcessing1\DlgEnhColor.cpp
?????文件???????1464??1995-09-27?15:54??ImageProcessing1\DlgEnhColor.h
?????文件???????1099??1995-08-03?17:52??ImageProcessing1\DlgHistShow.cpp
?????文件???????1371??1995-08-03?17:52??ImageProcessing1\DlgHistShow.h
?????文件???????4423??2000-01-01?04:26??ImageProcessing1\DlgHistShow1.cpp
?????文件???????1377??2000-01-01?04:26??ImageProcessing1\DlgHistShow1.h
?????文件???????3879??1995-08-07?17:27??ImageProcessing1\DlgMedian.cpp
?????文件???????1551??1995-08-07?17:16??ImageProcessing1\DlgMedian.h
?????文件???????5028??2004-06-13?23:30??ImageProcessing1\DlgMosaicRes.cpp
?????文件???????1505??2004-06-12?02:51??ImageProcessing1\DlgMosaicRes.h
?????文件??????16155??2005-04-13?22:07??ImageProcessing1\DlgMosaics.cpp
?????文件???????2783??2004-06-16?00:34??ImageProcessing1\DlgMosaics.h
?????文件??????18063??2005-03-17?21:24??ImageProcessing1\DlgRecMatch.cpp
?????文件???????1966??1996-11-04?05:51??ImageProcessing1\DlgRecMatch.h
............此處省略51個文件信息
- 上一篇:k近鄰分類matlab實現
- 下一篇:用A*算法路徑規劃, matlab程序
評論
共有 條評論