资源简介
MFC实现的基于内容的图像检索,主要用到颜色特征,可以作为MFC和图像开发方面的学习资料
代码片段和文件信息
/******************************************************************
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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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个文件信息
- 上一篇:OPENCV人脸检测加角点检测并输出坐标
- 下一篇:大家来找茬源码(MFC)
相关资源
- 大家来找茬源码(MFC)
- 用户登录界面设计
- FillHole.rar
- 训练SVM分类器 VS2013 C++
- vc++ 文本编辑器仿记事本MFC版
- VC++6.0小番茄助手(绿色版可用)173
- VC++ 2010 Express 中文
- 浙江大学_翁恺_c++_课件和源代码
- 蚁群算法在TSP中的运用c++版
- 深入理解 C++11 :C++11 新特性解析与应
- VC++,CSocket实现网络聊天,可发文件,
- 正弦,方波,三角波生成程序
- MFC实现可编辑Excel文件
- C++经典算法集与案例六个PDF文件
- C++语言程序设计第四版 郑莉 答案 p
- USB2.0接口数据采集卡
- 计算BMP24位真彩色图像PSNR的C++小程序
- 基于C++的五子棋游戏设计
- 道路提取算法 c++ opencv
- 蚁群算法C++程序
- Visual C++ 教程 清华大学出版社 郑阿奇
- 基于VC MFC的数据分析系统
- 设计模式 - pdf 高级教程(c++语言)
- C++程序设计谭浩强PDF
- MFC DLL调用(包含调用和DLL自身源代码
- mfc 串行化的简单使用
- Borland公司 正版Turbo C++3.0(TC300)
- 公交车模拟
- 完整的c++指纹识别系统源码
- A星寻路算法c++语言实现
评论
共有 条评论