91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.42MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-29
  • 語言: C/C++
  • 標簽: 幾何校正??

資源簡介

C++圖像處理幾何校正,可直接運行的工程,很好用的,

資源截圖

代碼片段和文件信息




#include?“stdafx.h“
#include?“dib.h“

IMPLEMENT_DYNAMIC(CDib??Cobject)

CDib::CDib()
{
Init();
}

CDib::CDib(const?char*?pszDibFileName)
{
Init();
????LoadFile(pszDibFileName);
}


CDib::~CDib()
{
ClearMemory();
}

void?CDib::ClearMemory()
{
if(m_hDIB?!=?NULL)
::GlobalFree(m_hDIB);
m_hDIB?=?0;
????m_pDibData?=?NULL;
m_pszFileName?=?NULL;
m_pBitmapInfoHeader?=?NULL;
????m_pBitmapInfo?=?NULL;

m_pRGBQuad?=?NULL;
m_pBitmapFileHeader?=?NULL;
}

#ifdef?_DEBUG
void?CDib::Dump(CDumpContext&?dc)?const
{
Cobject::Dump(dc);
}

void?CDib::AssertValid()?const
{
Cobject::AssertValid();
ASSERT(m_pszFileName?!=?NULL);
ASSERT(m_hDIB?!=?0);
}
#endif


void?CDib::Init()
{
m_pRGBQuad?=?NULL; //RGBQUAD?表項
????m_pDibData?=?NULL; //位圖像素數據
m_nWidth?=?0; //寬度
m_nHeight?=?0; //高度
m_nBitCount?=?0; //每個像素占有的位數
????m_nTotalColors?=?0; //顏色總數
????m_pBitmapFileHeader?=?NULL;
????m_pBitmapInfoHeader?=?NULL;
????m_pBitmapInfo?=?NULL;
m_hDIB?=?0;
m_pszFileName?=?NULL;
}

void?CDib::LoadFile(const?char*?pszDibFileName)
{
ASSERT(pszDibFileName);
//如果存在就釋放內存
if(m_pBitmapInfo)?::GlobalFree(m_hDIB);
//再次初始化?用于多次動態重用
Init();
m_pszFileName?=?(char*)pszDibFileName;

BITMAPFILEHEADER?bitmapFileHeader;

CFile?dibFile(pszDibFileName??CFile::modeRead);
try
{
//讀入位圖文件頭信息
UINT?nBFHsize?=?dibFile.Read((void*)&bitmapFileHeader?sizeof(BITMAPFILEHEADER));
if(nBFHsize?!=?sizeof(BITMAPFILEHEADER))
{
m_bValid?=?FALSE;
return;
}
}
catch(CFileException*?e)
{
e->Delete();
}

//如果為位圖就進行下一步的處理
????if?(bitmapFileHeader.bfType?==?0x4d42)
????{
AfxGetApp()->BeginWaitCursor();

//文件長度
????????DWORD?dwFileLength?=?dibFile.GetLength();

//位圖信息及位圖數據的大小(字節)
????????DWORD?dwSize?=?dwFileLength?-?sizeof(BITMAPFILEHEADER);
?

//為Dib分配全局內存
m_hDIB?=?(HGLOBAL)?::GlobalAlloc(GMEM_MOVEABLE??dwSize);
if?(m_hDIB?==?0) m_bValid?=?FALSE;

//指向Dib實際像素數據的指針?
BYTE*?pbyDib?=?(BYTE*)::GlobalLock(m_hDIB);
if?(pbyDib?==?NULL) m_bValid?=?FALSE;
?
try
{
//讀入內存
DWORD?dwReadSize?=?dibFile.Read((void*)pbyDib??dwSize);
dibFile.Close();
if(dwReadSize?!=?dwSize)
{
m_bValid?=?FALSE;
::GlobalUnlock(m_hDIB);
::GlobalFree(m_hDIB);
Init();
return;
}
}
catch(CFileException*?e)
{
e->Delete();
}

//獲取位圖文件頭指針和位圖文件數據信息指針
????????m_pBitmapInfo?=?(BITMAPINFO*)?pbyDib;
m_pBitmapInfoHeader?=?(BITMAPINFOHEADER*)?pbyDib;

//寬度和高度
m_nWidth?=?m_pBitmapInfoHeader->biWidth;
m_nHeight?=?m_pBitmapInfoHeader->biHeight;
//每像素的顏色位數
m_nBitCount?=?(BYTE)m_pBitmapInfoHeader->biBitCount;
??????
//顏色數
m_nTotalColors?=?GetColorNumber();
????????if?(m_pBitmapInfoHeader->biClrUsed?==?0)
????????????m_pBitmapInfoHeader->biClrUsed?=?m_nTotalColors;

//指向位圖顏色索引表項的指針?如果沒有顏色表項?則該值為NULL
????????m_pRGBQuad?=?(RGBQUAD*)(pbyDib?+?m_pBitmapInfoHeader->biSize);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????284726??2000-05-31?19:45??幾何校正\back.bmp

?????文件??????15539??2006-06-20?21:17??幾何校正\Dib.cpp

?????文件???????1472??2006-06-20?21:19??幾何校正\Dib.h

?????文件???????2875??2006-06-20?21:17??幾何校正\ImageGeneralTransform.cpp

?????文件????????702??2006-06-20?21:20??幾何校正\ImageGeneralTransform.h

?????文件??????19822??2006-06-20?21:19??幾何校正\ImageGeometry.cpp

?????文件???????1771??2006-06-20?21:20??幾何校正\ImageGeometry.h

?????文件???????2882??2006-06-20?21:19??幾何校正\ImageProcess.cpp

?????文件????????929??2006-06-20?21:20??幾何校正\ImageProcess.h

?????文件???????1732??2006-06-20?21:19??幾何校正\ImageWarp.cpp

?????文件????????803??2006-06-20?21:20??幾何校正\ImageWarp.h

?????文件???????1297??2000-06-21?21:47??幾何校正\ImageWarpDialog.cpp

?????文件???????1357??2000-06-21?21:47??幾何校正\ImageWarpDialog.h

?????文件???????8616??2006-06-20?21:20??幾何校正\Img.h

?????文件??????26916??2006-06-20?21:17??幾何校正\ImgWarp.aps

?????文件???????2459??2006-06-20?21:19??幾何校正\ImgWarp.clw

?????文件???????4132??2000-06-20?08:50??幾何校正\ImgWarp.cpp

?????文件???????5381??2000-06-20?22:33??幾何校正\ImgWarp.dsp

?????文件????????537??2000-06-20?08:50??幾何校正\ImgWarp.dsw

?????文件???????1367??2000-06-20?08:50??幾何校正\ImgWarp.h

?????文件?????287744??2006-06-20?21:20??幾何校正\ImgWarp.ncb

?????文件??????56832??2006-06-20?21:20??幾何校正\ImgWarp.opt

?????文件???????1680??2006-06-20?21:20??幾何校正\ImgWarp.plg

?????文件??????10291??2006-06-13?22:57??幾何校正\ImgWarp.rc

?????文件???????2347??2000-06-20?09:07??幾何校正\ImgWarpDoc.cpp

?????文件???????1438??2000-06-20?09:00??幾何校正\ImgWarpDoc.h

?????文件???????6339??2000-09-03?10:38??幾何校正\ImgWarpView.cpp

?????文件???????1986??2006-06-09?17:38??幾何校正\ImgWarpView.h

?????文件?????182094??2000-05-31?21:10??幾何校正\ixon.bmp

?????文件???????1892??2000-06-20?08:59??幾何校正\MainFrm.cpp

............此處省略28個文件信息

評論

共有 條評論