本代码属于原创,如需引用,请声明来源
下面是直方图相交的代码,同种图片的识别率达90%以上,性能非常稳定。
程序的例子是8位(256色)位图,其他位图类似。
#include <fstream>
#include <map>
#include <string>
#include <iostream>
using namespace std;
typedef unsigned char uvar8;
typedef unsigned int uvar32;
typedef unsigned short int uvar16;
typedef struct {
uvar8 Blue; /*蓝色所占比重*/
uvar8 Green; /*绿色所占比重*/
uvar8 Red; /*红色所占比重*/
uvar8 Reserved;
} Palette;
//定义bmp结构
uvar8 bfType[2]; /* 类型标志,总是BM */
typedef struct
{
uvar32 bfSize; /* 文件大小 */
uvar32 bfReserved1;
uvar32 bfOffBits; /* 位图点阵偏移量*/
}HEAD;
typedef struct
{
uvar32 biSize; /* 结构体字节总数 */
uvar32 biWidth