|
|
|
|
|
#ifndef _HEATMAP_H__
|
|
|
|
|
|
#define _HEATMAP_H__
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef WIN32
|
|
|
|
|
|
#if defined(HEATMAP_EXPORTS)
|
|
|
|
|
|
#define HEATMAP_API __declspec(dllexport)
|
|
|
|
|
|
#else
|
|
|
|
|
|
#define HEATMAP_API __declspec(dllimport)
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#define CALLMETHOD __stdcall
|
|
|
|
|
|
#else
|
|
|
|
|
|
#define HEATMAP_API
|
|
|
|
|
|
#define CALLMETHOD
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef HEATMAP_API
|
|
|
|
|
|
#define HEATMAP_API
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
//Bmpλͼ<CEBB><CDBC>Ϣ
|
|
|
|
|
|
typedef struct bmpImageInfo
|
|
|
|
|
|
{
|
|
|
|
|
|
unsigned char *pBuffer; //BmpͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|
|
|
|
|
int nWidth; //ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
|
|
|
|
|
|
int nHeight; //ͼƬ<CDBC>߶<EFBFBD>
|
|
|
|
|
|
int nBitCount; //ͼƬλ<C6AC><CEBB>,֧<><D6A7>8λ<38><CEBB>24λ<34><CEBB>32λ
|
|
|
|
|
|
int nDirection; //<2F><><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD> 0<><30><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
}BMPIMAGE_INFO;
|
|
|
|
|
|
|
|
|
|
|
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
typedef struct heatMapInfoIn
|
|
|
|
|
|
{
|
|
|
|
|
|
BMPIMAGE_INFO stuGrayBmpInfo; //8λBmp<6D>Ҷ<EFBFBD><D2B6>ȶ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬͷ<C6AC><CDB7><EFBFBD><EFBFBD><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
|
|
|
|
|
|
BMPIMAGE_INFO stuBkBmpInfo; //<2F><><EFBFBD><EFBFBD>ͼBmpλͼ<CEBB><CDBC><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ͼƬͷ<C6AC><CDB7><EFBFBD>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
|
|
|
|
|
|
}HEATMAP_IMAGE_IN;
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
typedef struct heatMapInfoOut
|
|
|
|
|
|
{
|
|
|
|
|
|
unsigned char *pBuffer; //<2F><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ɫ<EFBFBD>ȶ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ͼƬͷ<C6AC><CDB7>,<2C><><EFBFBD>ߡ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>ͼ<EFBFBD><CDBC>ͬ
|
|
|
|
|
|
int nPicSize; //ͼƬ<CDBC>ڴ<EFBFBD><DAB4><EFBFBD>С(<28><><EFBFBD><EFBFBD>ͷ) <20><><EFBFBD><EFBFBD>*<2A><>*nBitCount/8 + 54
|
|
|
|
|
|
float fOpacity; //<><CDB8><EFBFBD><EFBFBD>,<2C><>Χ0-1
|
|
|
|
|
|
}HEATMAP_IMAGE_Out;
|
|
|
|
|
|
|
|
|
|
|
|
///\brief <20><><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
/// param [in] stuBmpInfoIn Bmpλͼ<CEBB><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
/// param [in] stuBmpInfoOut Bmpλͼ<CEBB><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>ͼƬͷ
|
|
|
|
|
|
/// param [out] true or false
|
|
|
|
|
|
HEATMAP_API bool CALLMETHOD CreateHeatMap(const HEATMAP_IMAGE_IN *stuBmpInfoIn, HEATMAP_IMAGE_Out *stuBmpInfoOut);
|
|
|
|
|
|
|
|
|
|
|
|
///\brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ɻҶ<C9BB><D2B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
/// param [in] srcData <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
/// param [in] width <20><>
|
|
|
|
|
|
/// param [in] height <20><>
|
|
|
|
|
|
/// param [in] resultOut <20>Ҷ<EFBFBD><D2B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
/// param [out] true or false
|
|
|
|
|
|
HEATMAP_API bool CALLMETHOD TransNetDataToGrayData(unsigned char * srcData, int width, int height, unsigned char * resultOut);;
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif //_HEATMAP_H__
|