You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

231 lines
10 KiB

/*
* @Author: your name
* @Date: 2022-04-20 15:49:50
* @LastEditTime: 2022-09-23 21:51:58
* @LastEditors: sueRimn
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /ZCXD_MonitorPlatform/src/CoreLogicModule/include/CamDeal.h
*/
#ifndef AICommonDefine_H_
#define AICommonDefine_H_
// nf 输入图片尺寸
#define AI_NF_IN_0_IMAGE_WIDTH 1024
#define AI_NF_IN_0_IMAGE_HEIGHT 1024
#define AI_NF_IN_0_IMAGE_CHANNEL 1
#define AI_NF_IN_0_DATA_LENGTH AI_NF_IN_0_IMAGE_WIDTH *AI_NF_IN_0_IMAGE_HEIGHT *AI_NF_IN_0_IMAGE_CHANNEL
#define AI_NF_IN_0_IMAGE_Name "0"
// nf 输入图片尺寸
#define AI_NF_out_0_IMAGE_WIDTH 512
#define AI_NF_out_0_IMAGE_HEIGHT 512
#define AI_NF_out_0_IMAGE_CHANNEL 1
#define AI_NF_out_0_DATA_LENGTH AI_NF_out_0_IMAGE_WIDTH *AI_NF_out_0_IMAGE_HEIGHT *AI_NF_out_0_IMAGE_CHANNEL
#define AI_NF_out_0_IMAGE_Name "491"
// nf 输入图片尺寸
#define AI_NF_out_1_IMAGE_WIDTH 512
#define AI_NF_out_1_IMAGE_HEIGHT 512
#define AI_NF_out_1_IMAGE_CHANNEL 1
#define AI_NF_out_1_DATA_LENGTH AI_NF_out_1_IMAGE_WIDTH *AI_NF_out_1_IMAGE_HEIGHT *AI_NF_out_1_IMAGE_CHANNEL
// YS 输入图片尺寸
#define AI_YX_IN_0_IMAGE_WIDTH 1024
#define AI_YX_IN_0_IMAGE_HEIGHT 640
#define AI_YX_IN_0_IMAGE_CHANNEL 1
#define AI_YX_IN_0_DATA_LENGTH AI_YX_IN_0_IMAGE_WIDTH *AI_YX_IN_0_IMAGE_HEIGHT *AI_YX_IN_0_IMAGE_CHANNEL
#define AI_YX_IN_0_IMAGE_Name "0"
// nf 输入图片尺寸
#define AI_YX_out_0_IMAGE_WIDTH 1024
#define AI_YX_out_0_IMAGE_HEIGHT 640
#define AI_YX_out_0_IMAGE_CHANNEL 1
#define AI_YX_out_0_DATA_LENGTH AI_YX_out_0_IMAGE_WIDTH *AI_YX_out_0_IMAGE_HEIGHT *AI_YX_out_0_IMAGE_CHANNEL
#define AI_YX_out_0_IMAGE_Name "480"
#define USE_WHITEBACK_CLASS 1
// 1023
#define AI_Cls_IN_0_IMAGE_WIDTH 160
#define AI_Cls_IN_0_IMAGE_HEIGHT 160
#define AICls_IN_0_IMAGE_CHANNEL 3
#define AI_Cls_IN_0_IMAGE_DATA_LENGTH AI_Cls_IN_0_IMAGE_WIDTH *AI_Cls_IN_0_IMAGE_HEIGHT *AICls_IN_0_IMAGE_CHANNEL
#define AI_Cls_IN_0_IMAGE_Name "0"
// #define AI_Cls_out_0_IMAGE_WIDTH 5 //5---9---20231118
// #define AI_Cls_out_0_IMAGE_WIDTH 9 //5---9---20231118
#define AI_Cls_out_0_IMAGE_WIDTH 16 // 9---10---20231126
#define AI_Cls_out_0_IMAGE_HEIGHT 1
#define AI_Cls_out_0_IMAGE_CHANNEL 1
#define AI_Cls_out_0_IMAGE_DATA_LENGTH AI_Cls_out_0_IMAGE_WIDTH *AI_Cls_out_0_IMAGE_HEIGHT *AI_Cls_out_0_IMAGE_CHANNEL
#define AI_Cls_out_0_IMAGE_Name "570"
#define AI_Cls_14_out_0_IMAGE_WIDTH 14 // 9---10---20231126
#define AI_Cls_14_out_0_IMAGE_HEIGHT 1
#define AI_Cls_14_out_0_IMAGE_CHANNEL 1
#define AI_Cls_14_out_0_IMAGE_DATA_LENGTH AI_Cls_14_out_0_IMAGE_WIDTH *AI_Cls_14_out_0_IMAGE_HEIGHT *AI_Cls_14_out_0_IMAGE_CHANNEL
#define AI_Cls_14_out_0_IMAGE_Name "570"
// 1023
// YS 输入图片尺寸
#define AI_ZF_IN_0_IMAGE_WIDTH 1280
#define AI_ZF_IN_0_IMAGE_HEIGHT 800
#define AI_ZF_IN_0_IMAGE_CHANNEL 1
#define AI_ZF_IN_0_DATA_LENGTH AI_ZF_IN_0_IMAGE_WIDTH *AI_ZF_IN_0_IMAGE_HEIGHT *AI_ZF_IN_0_IMAGE_CHANNEL
#define AI_ZF_IN_0_IMAGE_Name "0"
// nf 输入ZF片尺寸
#define AI_ZF_out_0_IMAGE_WIDTH 1280
#define AI_ZF_out_0_IMAGE_HEIGHT 800
#define AI_ZF_out_0_IMAGE_CHANNEL 1
#define AI_ZF_out_0_DATA_LENGTH AI_ZF_out_0_IMAGE_WIDTH *AI_ZF_out_0_IMAGE_HEIGHT *AI_ZF_out_0_IMAGE_CHANNEL
#define AI_ZF_out_0_IMAGE_Name "491"
#define str_AI_127Cell_Model_Path "/home/aidlux/BOE/UseModel/defect_L127.engine"
// 127Cell 输入图片尺寸
#define AI_127Cell_IN_0_IMAGE_WIDTH 1024
#define AI_127Cell_IN_0_IMAGE_HEIGHT 1024
#define AI_127Cell_IN_0_IMAGE_CHANNEL 1
#define AI_127Cell_IN_0_DATA_LENGTH AI_127Cell_IN_0_IMAGE_WIDTH *AI_127Cell_IN_0_IMAGE_HEIGHT *AI_127Cell_IN_0_IMAGE_CHANNEL
#define AI_127Cell_IN_0_IMAGE_Name "0"
// nf 输入图片尺寸
#define AI_127Cell_out_0_IMAGE_WIDTH 512
#define AI_127Cell_out_0_IMAGE_HEIGHT 512
#define AI_127Cell_out_0_IMAGE_CHANNEL 1
#define AI_127Cell_out_0_DATA_LENGTH AI_127Cell_out_0_IMAGE_WIDTH *AI_127Cell_out_0_IMAGE_HEIGHT *AI_127Cell_out_0_IMAGE_CHANNEL
#define AI_127Cell_out_0_IMAGE_Name "491"
#define str_AI_RE_POL_Model_Path "/home/aidlux/BOE/UseModel/BOE_POL_128x128.engine"
#define str_AI_RE_AD_Model_Path "/home/aidlux/BOE/UseModel/BOE_AD_128x128.engine"
// POL 二次计算面积 输入图片尺寸
#define str_AI_RE_POL_IN_0_IMAGE_WIDTH 128
#define str_AI_RE_POL_IN_0_IMAGE_HEIGHT 128
#define str_AI_RE_POL_IN_0_IMAGE_CHANNEL 1
#define str_AI_RE_POL_IN_0_DATA_LENGTH str_AI_RE_POL_IN_0_IMAGE_WIDTH *str_AI_RE_POL_IN_0_IMAGE_HEIGHT *str_AI_RE_POL_IN_0_IMAGE_CHANNEL
#define str_AI_RE_POL_IN_0_IMAGE_Name "0"
// nf 输入图片尺寸
#define str_AI_RE_POL_out_0_IMAGE_WIDTH 128
#define str_AI_RE_POL_out_0_IMAGE_HEIGHT 128
#define str_AI_RE_POL_out_0_IMAGE_CHANNEL 1
#define str_AI_RE_POL_out_0_DATA_LENGTH str_AI_RE_POL_out_0_IMAGE_WIDTH *str_AI_RE_POL_out_0_IMAGE_HEIGHT *str_AI_RE_POL_out_0_IMAGE_CHANNEL
#define str_AI_RE_POL_out_0_IMAGE_Name "491"
// POL 二次计算面积 输入图片尺寸
#define str_AI_RE_AD_IN_0_IMAGE_WIDTH 128
#define str_AI_RE_AD_IN_0_IMAGE_HEIGHT 128
#define str_AI_RE_AD_IN_0_IMAGE_CHANNEL 1
#define str_AI_RE_AD_IN_0_DATA_LENGTH str_AI_RE_AD_IN_0_IMAGE_WIDTH *str_AI_RE_AD_IN_0_IMAGE_HEIGHT *str_AI_RE_AD_IN_0_IMAGE_CHANNEL
#define str_AI_RE_AD_IN_0_IMAGE_Name "0"
// nf 输入图片尺寸
#define str_AI_RE_AD_out_0_IMAGE_WIDTH 128
#define str_AI_RE_AD_out_0_IMAGE_HEIGHT 128
#define str_AI_RE_AD_out_0_IMAGE_CHANNEL 1
#define str_AI_RE_AD_out_0_DATA_LENGTH str_AI_RE_AD_out_0_IMAGE_WIDTH *str_AI_RE_AD_out_0_IMAGE_HEIGHT *str_AI_RE_AD_out_0_IMAGE_CHANNEL
#define str_AI_RE_AD_out_0_IMAGE_Name "491"
// Edge 定位
#define str_AI_EDGE_Big_Model_Path "/home/aidlux/BOE/UseModel/Edge_Big.engine"
#define str_AI_EDGE_Small_Model_Path "/home/aidlux/BOE/UseModel/Edge_Small.engine"
// POL 二次计算面积 输入图片尺寸
#define str_AI_EDGE_Big_IN_0_IMAGE_WIDTH 1024
#define str_AI_EDGE_Big_IN_0_IMAGE_HEIGHT 736
#define str_AI_EDGE_Big_IN_0_IMAGE_CHANNEL 1
#define str_AI_EDGE_Big_IN_0_DATA_LENGTH str_AI_EDGE_Big_IN_0_IMAGE_WIDTH *str_AI_EDGE_Big_IN_0_IMAGE_HEIGHT *str_AI_EDGE_Big_IN_0_IMAGE_CHANNEL
#define str_AI_EDGE_Big_IN_0_IMAGE_Name "image"
// nf 输入图片尺寸
#define str_AI_EDGE_Big_out_0_IMAGE_WIDTH 1024
#define str_AI_EDGE_Big_out_0_IMAGE_HEIGHT 736
#define str_AI_EDGE_Big_out_0_IMAGE_CHANNEL 1
#define str_AI_EDGE_Big_out_0_DATA_LENGTH str_AI_EDGE_Big_out_0_IMAGE_WIDTH *str_AI_EDGE_Big_out_0_IMAGE_HEIGHT *str_AI_EDGE_Big_out_0_IMAGE_CHANNEL
#define str_AI_EDGE_Big_out_0_IMAGE_Name "mask"
// POL 二次计算面积 输入图片尺寸
#define str_AI_EDGE_Small_IN_0_IMAGE_WIDTH 320
#define str_AI_EDGE_Small_IN_0_IMAGE_HEIGHT 320
#define str_AI_EDGE_Small_IN_0_IMAGE_CHANNEL 1
#define str_AI_EDGE_Small_IN_0_DATA_LENGTH str_AI_EDGE_Small_IN_0_IMAGE_WIDTH *str_AI_EDGE_Small_IN_0_IMAGE_HEIGHT *str_AI_EDGE_Small_IN_0_IMAGE_CHANNEL
#define str_AI_EDGE_Small_IN_0_IMAGE_Name "image"
// nf 输入图片尺寸
#define str_AI_EDGE_Small_out_0_IMAGE_WIDTH 320
#define str_AI_EDGE_Small_out_0_IMAGE_HEIGHT 320
#define str_AI_EDGE_Small_out_0_IMAGE_CHANNEL 1
#define str_AI_EDGE_Small_out_0_DATA_LENGTH str_AI_EDGE_Small_out_0_IMAGE_WIDTH *str_AI_EDGE_Small_out_0_IMAGE_HEIGHT *str_AI_EDGE_Small_out_0_IMAGE_CHANNEL
#define str_AI_EDGE_Small_out_0_IMAGE_Name "mask"
// 缺pol 检测
#define str_AI_LOSSPOL_Model_Path "/home/aidlux/BOE/UseModel/BOE_LOSSPOL.engine"
// 输入图片尺寸
#define str_AI_LOSSPOL_IN_0_IMAGE_WIDTH 1024
#define str_AI_LOSSPOL_IN_0_IMAGE_HEIGHT 640
#define str_AI_LOSSPOL_IN_0_IMAGE_CHANNEL 1
#define str_AI_LOSSPOL_IN_0_DATA_LENGTH str_AI_LOSSPOL_IN_0_IMAGE_WIDTH *str_AI_LOSSPOL_IN_0_IMAGE_HEIGHT *str_AI_LOSSPOL_IN_0_IMAGE_CHANNEL
// nf 输入图片尺寸
#define str_AI_LOSSPOL_out_0_IMAGE_WIDTH 1024
#define str_AI_LOSSPOL_out_0_IMAGE_HEIGHT 640
#define str_AI_LOSSPOL_out_0_IMAGE_CHANNEL 1
#define str_AI_LOSSPOL_out_0_DATA_LENGTH str_AI_LOSSPOL_out_0_IMAGE_WIDTH *str_AI_LOSSPOL_out_0_IMAGE_HEIGHT *str_AI_LOSSPOL_out_0_IMAGE_CHANNEL
// Mark 检测
#define str_AI_Mark_Model_Path "/home/aidlux/BOE/UseModel/defect_MARK_LINE.engine"
// 输入图片尺寸
#define str_AI_Mark_IN_0_IMAGE_WIDTH 512
#define str_AI_Mark_IN_0_IMAGE_HEIGHT 512
#define str_AI_Mark_IN_0_IMAGE_CHANNEL 1
#define str_AI_Mark_IN_0_DATA_LENGTH str_AI_Mark_IN_0_IMAGE_WIDTH *str_AI_Mark_IN_0_IMAGE_HEIGHT *str_AI_Mark_IN_0_IMAGE_CHANNEL
// nf 输入图片尺寸
#define str_AI_Mark_out_0_IMAGE_WIDTH 512
#define str_AI_Mark_out_0_IMAGE_HEIGHT 512
#define str_AI_Mark_out_0_IMAGE_CHANNEL 1
#define str_AI_Mark_out_0_DATA_LENGTH str_AI_Mark_out_0_IMAGE_WIDTH *str_AI_Mark_out_0_IMAGE_HEIGHT *str_AI_Mark_out_0_IMAGE_CHANNEL
#define QX_SAMLLIMG_WIDTH 160
#define QX_SAMLLIMG_HEIGHT 160
// AI缺陷分类缺陷的种类
enum AI_CLass_QX_NAME_
{
AI_CLass_QX_NAME_ok_yisi, // 疑似
AI_CLass_QX_NAME_yixian, // 异显
AI_CLass_QX_NAME_POL_CEL, // 亮点
AI_CLass_QX_NAME_zara, // ZARA
AI_CLass_QX_NAME_ps, // PS
AI_CLass_QX_NAME_line, // 线
AI_CLass_QX_NAME_fangge_line, // 方格线
AI_CLass_QX_NAME_qipao, // 气泡
AI_CLass_QX_NAME_qing_huashang, // 轻划伤
AI_CLass_QX_NAME_mtx, // MTX
AI_CLass_QX_NAME_yisi_qianzangwu, // 疑似浅层脏污
AI_CLass_QX_NAME_qing_zangwu, // 轻脏污
AI_CLass_QX_NAME_zhong_zangwu, // 严重脏污
AI_CLass_QX_NAME_andian, // 暗点
AI_CLass_QX_NAME_huashang, // 划伤
AI_CLass_QX_NAME_zf, // zf
AI_CLass_QX_NAME_other, // 其他
AI_CLass_QX_NAME_count,
};
// 缺陷项对应在参数中的名称
static const std::string AI_CLass_QX_NAME_Names[] =
{
"ok_yisi",
"yixian",
"liangdian",
"zara",
"ps",
"line",
"fangge_line",
"qipao",
"qing_huashang",
"mtx",
"yisi_qianzangwu",
"qing_zangwu",
"zhong_zangwu",
"andian",
"huashang",
"zf",
"other"};
#endif