資源簡介
MFC實(shí)現(xiàn)的基于內(nèi)容的圖像檢索,主要用到顏色特征,可以作為MFC和圖像開發(fā)方面的學(xué)習(xí)資料

代碼片段和文件信息
/******************************************************************
CqOctree.CPP
??Performing?Color?Quantization?using?Octree?algorithm
??The?2?functions?for?global?use?is
??HPALETTE?CreateOctreePalette?(HBITMAP?hImage?UINT?nMaxColors?UINT?nColorBits)
??HPALETTE?CreateOctreePalette?(LPSTR?lpDIB?UINT?nMaxColors?UINT?nColorBits)
??For?using?convenience?define?it?in?DIBAPI.H
******************************************************************/
#include?“stdafx.h“
#include?“dibapi.h“
//?structure?use?internally
//?store?the?necessary?info?of?a?node?in?octree
typedef?struct?_NODE?
{
????BOOL?bIsLeaf;???????????????//?TRUE?if?node?has?no?children
????UINT?nPixelCount;???????????//?Number?of?pixels?represented?by?this?leaf
????UINT?nRedSum;???????????????//?Sum?of?red?components
????UINT?nGreenSum;?????????????//?Sum?of?green?components
????UINT?nBlueSum;??????????????//?Sum?of?blue?components
????struct?_NODE*?pChild[8];????//?Pointers?to?child?nodes
????struct?_NODE*?pNext;????????//?Pointer?to?next?reducible?node
}?NODE;
//?Function?prototypes
//Global?use?define?it?in?dibapi.h
//HPALETTE?CreateOctreePalette?(HDIB?hDIB?UINT?nMaxColors?UINT?nColorBits)
//HPALETTE?CreateOctreePalette?(LPSTR?lpDIB?UINT?nMaxColors?UINT?nColorBits)
//Local?use?only
HPALETTE?BuildOctreePalette(HANDLE?hImage?UINT?nMaxColors?UINT?nColorBits);
void?AddColor?(NODE**?BYTE?BYTE?BYTE?UINT?UINT?UINT*?NODE**);
NODE*?CreateNode?(UINT?UINT?UINT*?NODE**);
void?ReduceTree?(UINT?UINT*?NODE**);
void?DeleteTree?(NODE**);
void?GetPaletteColors?(NODE*?PALETTEENTRY*?UINT*);
int?GetRightShiftCount?(DWORD);
int?GetLeftShiftCount?(DWORD);
//?Function?body
/*************************************************************************?
?*?
?*?CreateOctreePalette()?
?*?
?*?Parameters:?
?*?
?*?HDIB?hDIB????????-?Handle?to?source?DIB?
?*?UINT?nMaxColors??-?destination?color?number
?*?UINT?nColorBits??-?destination?color?bits
?*?
?*?Return?Value:?
?*?
?*?HPALETTE?????????-?Handle?to?the?result?palette
?*?
?*?Description:?
?*?
?*?This?function?use?Octree?color?quantization?algorithm?to?get
?*?optimal?m?kinds?of?color?to?represent?total?n?kinds?of?color?
?*?in?a?DIB?and?use?the?m?kinds?of?color?to?build?a?palette.
?*?With?the?palette?we?can?display?the?DIB?on?reasonable?accuracy.
?*?
?************************************************************************/?
HPALETTE?CreateOctreePalette(HDIB?hDIB?UINT?nMaxColors?UINT?nColorBits)
{
HANDLE?hImage;
hImage?=?DIBToDIBSection(hDIB);
if?(!?hImage)
return?NULL;
return?BuildOctreePalette(hImage?nMaxColors?nColorBits);
}
/*************************************************************************?
?*?
?*?CreateOctreePalette()?
?*?
?*?Parameters:?
?*?
?*?LPBYTE?lpDIB?????-?Pointer?to?DIB?data?buffer
?*?UINT?nMaxColors??-?destination?color?number
?*?UINT?nColorBits??-?destination?color?bits
?*?
?*?Return?Value:?
?*?
?*?HPALETTE???????
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????14512??2001-11-06?00:53??retrieval\CqOctree.cpp
?????文件??????14875??2010-04-15?19:39??retrieval\Debug\CqOctree.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\CqOctree.sbr
?????文件?????144724??2010-04-15?19:39??retrieval\Debug\Dib.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\Dib.sbr
?????文件?????174157??2010-04-15?19:39??retrieval\Debug\dibapi.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\dibapi.sbr
?????文件???????4234??2010-04-15?19:39??retrieval\Debug\Huffman.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\Huffman.sbr
?????文件??????60729??2010-04-15?19:39??retrieval\Debug\IP.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\IP.sbr
?????文件??????31549??2010-04-15?19:39??retrieval\Debug\Jpeg.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\Jpeg.sbr
?????文件??????22242??2010-04-15?19:39??retrieval\Debug\MainFrm.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\MainFrm.sbr
?????文件??????20408??2010-04-15?19:39??retrieval\Debug\ResultView.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\ResultView.sbr
?????文件????3834880??2010-04-15?19:39??retrieval\Debug\retrieval.bsc
?????文件?????516170??2010-04-15?19:39??retrieval\Debug\retrieval.exe
?????文件?????714212??2010-04-15?19:39??retrieval\Debug\retrieval.ilk
?????文件??????23232??2010-04-15?19:39??retrieval\Debug\retrieval.obj
?????文件????6869072??2010-04-15?19:39??retrieval\Debug\retrieval.pch
?????文件?????656384??2010-04-15?19:39??retrieval\Debug\retrieval.pdb
?????文件???????8216??2010-04-15?19:39??retrieval\Debug\retrieval.res
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\retrieval.sbr
?????文件??????58872??2010-04-15?19:39??retrieval\Debug\retrievalDoc.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\retrievalDoc.sbr
?????文件??????97643??2010-04-15?19:39??retrieval\Debug\RetrievallView.obj
?????文件??????????0??2010-04-15?19:39??retrieval\Debug\RetrievallView.sbr
?????文件?????105670??2010-04-15?19:39??retrieval\Debug\StdAfx.obj
............此處省略402個(gè)文件信息
評(píng)論
共有 條評(píng)論