📄 patternrecog.h
字号:
///////////////////////////////
//
// PatternRecog.h
//
// 图像模式识别算法库头文件
//
///////////////////////////////
#include "afxtempl.h"//用于定义数组的模板库
#ifndef _INC_PatternRecogAPI
#define _INC_PatternRecogAPI
//定义全局常量
const double MINIMIZE_VAL=0.0000000001;
const int MAXIMIZE_LINES=3; //最大的分类线数量
#define DIMETION_2 2
#define DIMETION_3 3
#define COLOR_RED 0
#define COLOR_GREEN 1
#define COLOR_BLUE 2
#define AXIS_MINIMIZE 0
#define AXIS_MAXIMIZE 250
#define nXOffset 5
#define nYOffset 5
#define nLittleOffset 2
//定义右键的功能类型
#define RBUTTONDOWN_MANU_MODE 0 //人工 2模式
#define RBUTTONDOWN_AUTO_MODE 1 //自动 2模式
#define RBUTTONDOWN_MUTI_MODE 2 //自动多模式
//自动判别的样本采样模式
#define AUTOSAMPLE_ENDING 0
#define AUTOSAMPLE_ADDOBJ 1
#define AUTOSAMPLE_ADDBAK 2
#define AUTOSAMPLE_ADDTHIRD 3
////////////////////////////////////////////////////////////////////////////
//定义颜色分量
#define MODE_OBJECT_COLOR_R 255
#define MODE_OBJECT_COLOR_G 255
#define MODE_OBJECT_COLOR_B 0
#define MODE_BACKRD_COLOR_R 0
#define MODE_BACKRD_COLOR_G 255
#define MODE_BACKRD_COLOR_B 255
//定义多模式识别的颜色
#define MODE_COLOR_01 RGB(255,0,0)
#define MODE_COLOR_02 RGB(0,0,255)
#define MODE_COLOR_03 RGB(255,255,0)
#define MODE_COLOR_04 RGB(255,0,255)
#define MODE_COLOR_05 RGB(0,255,255)
#define MODE_COLOR_BK RGB(0,0,0)
const COLORREF MULTI_MODE_COLOR[6]={MODE_COLOR_01,
MODE_COLOR_02,
MODE_COLOR_03,
MODE_COLOR_04,
MODE_COLOR_05,
MODE_COLOR_BK};
//自定义菜单ID的底线
//用于创建动态菜单
#define DYNAMIC_ID_BEGIN 50000
//判别直线的斜率类型
#define PARALLEL_WITH_NO_AXIS 0
#define PARALLEL_WITH_X_AXIS 1
#define PARALLEL_WITH_Y_AXIS 2
#define IN_OBJECT_MODE 1
#define IN_BACKRD_MODE 2
#define IN_THIRD_MODE 3
////////////////////////////////////////////////////////////////////////////
//#pragma pack(1);
// 定义存放RGB的结构
typedef struct{
BYTE B;
BYTE G;
BYTE R;
} tagRGBVal;
//typedef CArray<CTaskDeviceStateInfoMsg,CTaskDeviceStateInfoMsg&> CTaskDeviceStateInfoArray;
typedef CArray<tagRGBVal,tagRGBVal&> RGBValArray;
typedef struct{
float fA; //斜率
float fB; //截距
} tagLineInfo;
typedef CArray<tagLineInfo,tagLineInfo&> LineArray;
// 定义存放RGB的结构
typedef struct{
LONG X;
LONG Y;
LONG Z;
} tagPos;
typedef struct{
double X;
double Y;
double Z;
} tagSumOfDistance;
typedef struct{
tagPos MeanP;
LONG ERR;
} tagStatics;
//#pragma pack;
// 函数原型
//BOOL WINAPI LinerTrans(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, FLOAT fA, FLOAT fB,WORD wBitCount);
BOOL WINAPI AutoRecognazition();
///////////////////////////////////////////////////////////////////////////////////
//下面是第三章所用标志
#define KMEANSAMPLE_CLOSED 0
#define KMEANSAMPLE_OPEN 1
#define CLUSTERING_METHOD_KMEAN 0 //聚类算法:K-平均
#define CLUSTERING_METHOD_ISODATA 1 //聚类算法:ISODATA
#define CLUSTERING_INITIAL_CENTER_RANDOM 0 //随机取点
#define CLUSTERING_INITIAL_CENTER_SEQUENT 1 //顺序取点
const int MAXIMIZE_CLASSNUM=30; //最大的分类数量
const double MAXIMIZE_DISTANCE=1.0e100; //最大距离
const double MAXIMIZE_RSS =1.0e100; //最大误差平方和
#endif //!_INC_PatternRecogAPI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -