1、增加型号名修改功能

2、增加ROI标定坐标设置功能
3、标定页面参数刷新逻辑调整
4、检测算法增加圆心偏移参数阈值设置,开放到UI上设置
master
bob.pan 4 years ago
parent c471c758bf
commit 5f63de78bc

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

@ -1,783 +0,0 @@
{
"algoArray": [
{
"algo_OutParam_base_id": 3,
"algo_base_id": 2,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 1,
"algo_lib_name": "",
"algo_name": "圆心定位",
"algo_path": "caliCenter.dll",
"algo_roi_id": 423241480,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "centerRoi",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
}
],
"paramArray": [
{
"param_description": "圆心模板",
"param_id": 1,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1312.1961669921875,
"roi_item_value2": 954.859130859375,
"roi_item_value3": 212
}
]
]
}
]
},
{
"algo_OutParam_base_id": 9,
"algo_base_id": 4,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 2,
"algo_lib_name": "",
"algo_name": "气门芯标定",
"algo_path": "caliValve.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 14,
"out_param_name": "background",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 13,
"out_param_name": "backgroundThresh",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 15
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 9,
"out_param_name": "barNum",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 7,
"out_param_name": "barTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 11,
"out_param_name": "baseImage",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 10,
"out_param_name": "flagCircle",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 16,
"out_param_name": "startDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 818.600830078125
},
{
"out_param_description": " ",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 15,
"out_param_name": "startOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 900
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "valveDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 600.9156494140625
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "valveOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 3106
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 6,
"out_param_name": "valveTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "valveWidth",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 45.5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 12,
"out_param_name": "weightMat",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 8,
"out_param_name": "withinOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 459
}
],
"paramArray": [
{
"param_description": "气门芯模板",
"param_id": 2,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1706.266357421875,
"roi_item_value2": 1410.7305908203125,
"roi_item_value3": 45.5
}
]
]
},
{
"param_description": "参考线模板",
"param_id": 4,
"param_lock": false,
"param_name": "StartROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1312.7010498046875,
"roi_item_value2": 136.87423706054688,
"roi_item_value3": 48.5
}
]
]
},
{
"param_description": "背景剪除阈值",
"param_id": 6,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": "辐条数量",
"param_id": 9,
"param_lock": false,
"param_name": "barNum",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 5
},
{
"param_description": "辐条模板",
"param_id": 3,
"param_lock": false,
"param_name": "barROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1861.3594970703125,
"roi_item_value2": 1190.9151611328125,
"roi_item_value3": 67.5
}
]
]
},
{
"param_description": "轮毂中心坐标,绑定圆心定位",
"param_id": 1,
"param_lock": false,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1314.0406494140625,
"param_value_point_2": 955.4739379882812
},
{
"param_description": "无气门芯识别",
"param_id": 5,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "背景图启用0关闭1打开",
"param_id": 8,
"param_lock": false,
"param_name": "ibackground",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "型号判定0关闭1打开",
"param_id": 7,
"param_lock": false,
"param_name": "ifClasify",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
}
]
},
{
"algo_OutParam_base_id": 19,
"algo_base_id": 13,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 3,
"algo_lib_name": "",
"algo_name": "检测",
"algo_path": "valveDetector.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "结果角度",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "angle",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 220.56674999999998
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 18,
"out_param_name": "centerPoint",
"out_param_save": false,
"out_param_type": 24
},
{
"out_param_description": "错误类型",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "error",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 19,
"out_param_name": "imageName",
"out_param_save": false,
"out_param_type": 24
},
{
"out_param_description": "结果提示",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "resultTip",
"out_param_save": false,
"out_param_type": 2,
"out_param_value": "/70"
},
{
"out_param_description": "相似度得分",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "score",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 1
}
],
"paramArray": [
{
"param_description": " ",
"param_file_path": "1_2_3_22_in.wsf",
"param_id": 22,
"param_lock": false,
"param_name": "background",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "背景差异性阈值",
"param_id": 1,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": " ",
"param_id": 12,
"param_lock": true,
"param_name": "barNum",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 9,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 5
},
{
"param_description": "辐条得分值",
"param_id": 10,
"param_lock": false,
"param_name": "barScore",
"param_show": true,
"param_src_algo_id": 0,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 60
},
{
"param_description": " ",
"param_file_path": "1_2_3_19_in.wsf",
"param_id": 19,
"param_lock": true,
"param_name": "barTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 7,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_file_path": "1_2_3_21_in.wsf",
"param_id": 21,
"param_lock": false,
"param_name": "baseImage",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂型号匹配分值",
"param_id": 9,
"param_lock": false,
"param_name": "cMatchScore",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 0.2
},
{
"param_description": "轮毂中心坐标,绑定气门芯标定",
"param_id": 6,
"param_lock": true,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1314.0406494140625,
"param_value_point_2": 955.4739379882812
},
{
"param_description": "是否开启中心定位0关闭1开启",
"param_id": 5,
"param_lock": false,
"param_name": "centerAlg",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 1
},
{
"param_description": "轮毂中心模板, 绑定圆定位",
"param_file_path": "1_2_3_7_in.wsf",
"param_id": 7,
"param_lock": true,
"param_name": "centerRoi",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂区域框选",
"param_id": 8,
"param_lock": false,
"param_name": "cirlceArea",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9
},
{
"param_description": "0无气门芯标识绑定气门芯标定",
"param_id": 4,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "相似度评价阈值在0~100之间",
"param_id": 2,
"param_lock": false,
"param_name": "scoreTh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 70
},
{
"param_description": " ",
"param_id": 17,
"param_lock": true,
"param_name": "startDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 16,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 818.600830078125
},
{
"param_description": " ",
"param_id": 14,
"param_lock": true,
"param_name": "startOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 15,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 900
},
{
"param_description": " ",
"param_id": 16,
"param_lock": true,
"param_name": "valveDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 600.9156494140625
},
{
"param_description": " ",
"param_id": 13,
"param_lock": true,
"param_name": "valveOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 5,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 3106
},
{
"param_description": " ",
"param_file_path": "1_2_3_18_in.wsf",
"param_id": 18,
"param_lock": true,
"param_name": "valveTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 6,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_id": 15,
"param_lock": true,
"param_name": "valveWidth",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 4,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 45.5
},
{
"param_description": " ",
"param_file_path": "1_2_3_20_in.wsf",
"param_id": 20,
"param_lock": false,
"param_name": "weightMat",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂类型0摩伦1汽轮",
"param_id": 3,
"param_lock": false,
"param_name": "wheelType",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": " ",
"param_id": 11,
"param_lock": true,
"param_name": "withinOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 8,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 459
}
]
}
],
"property": [
{
"prop_name": "a",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "b",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "model_cali",
"prop_type": 1,
"prop_value": true
},
{
"prop_name": "model_plc",
"prop_type": 2,
"prop_value": 100
},
{
"prop_name": "model_time",
"prop_type": 10,
"prop_value": ""
}
],
"task_algo_base_id": 3,
"task_algo_run_id": 3,
"task_base_id": 0,
"task_cameraID": 1,
"task_default_dir": "",
"task_description": "",
"task_group_param_id": -1,
"task_id": 2,
"task_name": "A1",
"task_run": true
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

@ -1,763 +0,0 @@
{
"algoArray": [
{
"algo_OutParam_base_id": 3,
"algo_base_id": 2,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 1,
"algo_lib_name": "",
"algo_name": "圆心定位",
"algo_path": "caliCenter.dll",
"algo_roi_id": 423241480,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "centerRoi",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
}
],
"paramArray": [
{
"param_description": "圆心模板",
"param_id": 1,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1314.0406494140625,
"roi_item_value2": 955.4739379882812,
"roi_item_value3": 212
}
]
]
}
]
},
{
"algo_OutParam_base_id": 9,
"algo_base_id": 4,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 2,
"algo_lib_name": "",
"algo_name": "气门芯标定",
"algo_path": "caliValve.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 14,
"out_param_name": "background",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 13,
"out_param_name": "backgroundThresh",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 15
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 9,
"out_param_name": "barNum",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 7,
"out_param_name": "barTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 11,
"out_param_name": "baseImage",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 10,
"out_param_name": "flagCircle",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 16,
"out_param_name": "startDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 818.600830078125
},
{
"out_param_description": " ",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 15,
"out_param_name": "startOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 900
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "valveDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 600.9156494140625
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "valveOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 3106
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 6,
"out_param_name": "valveTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "valveWidth",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 45.5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 12,
"out_param_name": "weightMat",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 8,
"out_param_name": "withinOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 459
}
],
"paramArray": [
{
"param_description": "气门芯模板",
"param_id": 2,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1706.266357421875,
"roi_item_value2": 1410.7305908203125,
"roi_item_value3": 45.5
}
]
]
},
{
"param_description": "参考线模板",
"param_id": 4,
"param_lock": false,
"param_name": "StartROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1312.7010498046875,
"roi_item_value2": 136.87423706054688,
"roi_item_value3": 48.5
}
]
]
},
{
"param_description": "背景剪除阈值",
"param_id": 6,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": "辐条数量",
"param_id": 9,
"param_lock": false,
"param_name": "barNum",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 5
},
{
"param_description": "辐条模板",
"param_id": 3,
"param_lock": false,
"param_name": "barROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1861.3594970703125,
"roi_item_value2": 1190.9151611328125,
"roi_item_value3": 67.5
}
]
]
},
{
"param_description": "轮毂中心坐标,绑定圆心定位",
"param_id": 1,
"param_lock": false,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1314.0406494140625,
"param_value_point_2": 955.4739379882812
},
{
"param_description": "无气门芯识别",
"param_id": 5,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "背景图启用0关闭1打开",
"param_id": 8,
"param_lock": false,
"param_name": "ibackground",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "型号判定0关闭1打开",
"param_id": 7,
"param_lock": false,
"param_name": "ifClasify",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
}
]
},
{
"algo_OutParam_base_id": 17,
"algo_base_id": 13,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 3,
"algo_lib_name": "",
"algo_name": "检测",
"algo_path": "valveDetector.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "结果角度",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "angle",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 220.56124999999997
},
{
"out_param_description": "错误类型",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "error",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "结果提示",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "resultTip",
"out_param_save": false,
"out_param_type": 2,
"out_param_value": "/70"
},
{
"out_param_description": "相似度得分",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "score",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 1
}
],
"paramArray": [
{
"param_description": " ",
"param_file_path": "1_2_3_22_in.wsf",
"param_id": 22,
"param_lock": false,
"param_name": "background",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "背景差异性阈值",
"param_id": 1,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": " ",
"param_id": 12,
"param_lock": true,
"param_name": "barNum",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 9,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 5
},
{
"param_description": "辐条得分值",
"param_id": 10,
"param_lock": false,
"param_name": "barScore",
"param_show": true,
"param_src_algo_id": 0,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 60
},
{
"param_description": " ",
"param_file_path": "1_2_3_19_in.wsf",
"param_id": 19,
"param_lock": true,
"param_name": "barTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 7,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_file_path": "1_2_3_21_in.wsf",
"param_id": 21,
"param_lock": false,
"param_name": "baseImage",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂型号匹配分值",
"param_id": 9,
"param_lock": false,
"param_name": "cMatchScore",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 0.2
},
{
"param_description": "轮毂中心坐标,绑定气门芯标定",
"param_id": 6,
"param_lock": true,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1314.0406494140625,
"param_value_point_2": 955.4739379882812
},
{
"param_description": "是否开启中心定位0关闭1开启",
"param_id": 5,
"param_lock": false,
"param_name": "centerAlg",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 1
},
{
"param_description": "轮毂中心模板, 绑定圆定位",
"param_file_path": "1_2_3_7_in.wsf",
"param_id": 7,
"param_lock": true,
"param_name": "centerRoi",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂区域框选",
"param_id": 8,
"param_lock": false,
"param_name": "cirlceArea",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9
},
{
"param_description": "0无气门芯标识绑定气门芯标定",
"param_id": 4,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "相似度评价阈值在0~100之间",
"param_id": 2,
"param_lock": false,
"param_name": "scoreTh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 70
},
{
"param_description": " ",
"param_id": 17,
"param_lock": true,
"param_name": "startDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 16,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 818.600830078125
},
{
"param_description": " ",
"param_id": 14,
"param_lock": true,
"param_name": "startOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 15,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 900
},
{
"param_description": " ",
"param_id": 16,
"param_lock": true,
"param_name": "valveDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 600.9156494140625
},
{
"param_description": " ",
"param_id": 13,
"param_lock": true,
"param_name": "valveOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 5,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 3106
},
{
"param_description": " ",
"param_file_path": "1_2_3_18_in.wsf",
"param_id": 18,
"param_lock": true,
"param_name": "valveTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 6,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_id": 15,
"param_lock": true,
"param_name": "valveWidth",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 4,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 45.5
},
{
"param_description": " ",
"param_file_path": "1_2_3_20_in.wsf",
"param_id": 20,
"param_lock": false,
"param_name": "weightMat",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂类型0摩伦1汽轮",
"param_id": 3,
"param_lock": false,
"param_name": "wheelType",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": " ",
"param_id": 11,
"param_lock": true,
"param_name": "withinOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 8,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 459
}
]
}
],
"property": [
{
"prop_name": "a",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "b",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "model_cali",
"prop_type": 1,
"prop_value": true
},
{
"prop_name": "model_plc",
"prop_type": 2,
"prop_value": 100
},
{
"prop_name": "model_time",
"prop_type": 10,
"prop_value": ""
}
],
"task_algo_base_id": 3,
"task_algo_run_id": 3,
"task_base_id": 0,
"task_cameraID": 1,
"task_default_dir": "",
"task_description": "",
"task_group_param_id": -1,
"task_id": 2,
"task_name": "A1",
"task_run": true
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

@ -1,783 +0,0 @@
{
"algoArray": [
{
"algo_OutParam_base_id": 3,
"algo_base_id": 2,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 1,
"algo_lib_name": "",
"algo_name": "圆心定位",
"algo_path": "caliCenter.dll",
"algo_roi_id": 423241480,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "centerRoi",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
}
],
"paramArray": [
{
"param_description": "圆心模板",
"param_id": 1,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1316.4891357421875,
"roi_item_value2": 954.30029296875,
"roi_item_value3": 212
}
]
]
}
]
},
{
"algo_OutParam_base_id": 9,
"algo_base_id": 4,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 2,
"algo_lib_name": "",
"algo_name": "气门芯标定",
"algo_path": "caliValve.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 14,
"out_param_name": "background",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 13,
"out_param_name": "backgroundThresh",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 15
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 9,
"out_param_name": "barNum",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 7,
"out_param_name": "barTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 11,
"out_param_name": "baseImage",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 10,
"out_param_name": "flagCircle",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 16,
"out_param_name": "startDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 610.9727172851562
},
{
"out_param_description": " ",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 15,
"out_param_name": "startOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 1844
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "valveDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 610.9514770507812
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "valveOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 1842
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 6,
"out_param_name": "valveTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "valveWidth",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 45.5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 12,
"out_param_name": "weightMat",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 8,
"out_param_name": "withinOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 211
}
],
"paramArray": [
{
"param_description": "气门芯模板",
"param_id": 2,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 707.203369140625,
"roi_item_value2": 999.3842163085938,
"roi_item_value3": 45.5
}
]
]
},
{
"param_description": "参考线模板",
"param_id": 4,
"param_lock": false,
"param_name": "StartROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 707.316162109375,
"roi_item_value2": 1001.1607055664062,
"roi_item_value3": 48.5
}
]
]
},
{
"param_description": "背景剪除阈值",
"param_id": 6,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": "辐条数量",
"param_id": 9,
"param_lock": false,
"param_name": "barNum",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 5
},
{
"param_description": "辐条模板",
"param_id": 3,
"param_lock": false,
"param_name": "barROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 737.2562866210938,
"roi_item_value2": 777.664306640625,
"roi_item_value3": 84.5
}
]
]
},
{
"param_description": "轮毂中心坐标,绑定圆心定位",
"param_id": 1,
"param_lock": false,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1316.4891357421875,
"param_value_point_2": 954.30029296875
},
{
"param_description": "无气门芯识别",
"param_id": 5,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "背景图启用0关闭1打开",
"param_id": 8,
"param_lock": false,
"param_name": "ibackground",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "型号判定0关闭1打开",
"param_id": 7,
"param_lock": false,
"param_name": "ifClasify",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
}
]
},
{
"algo_OutParam_base_id": 19,
"algo_base_id": 13,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 3,
"algo_lib_name": "",
"algo_name": "检测",
"algo_path": "valveDetector.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "结果角度",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "angle",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 223.6545
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 18,
"out_param_name": "centerPoint",
"out_param_save": false,
"out_param_type": 24
},
{
"out_param_description": "错误类型",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "error",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 19,
"out_param_name": "imageName",
"out_param_save": false,
"out_param_type": 24
},
{
"out_param_description": "结果提示",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "resultTip",
"out_param_save": false,
"out_param_type": 2,
"out_param_value": "/70"
},
{
"out_param_description": "相似度得分",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "score",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 0.9590626955032349
}
],
"paramArray": [
{
"param_description": " ",
"param_file_path": "1_7_3_22_in.wsf",
"param_id": 22,
"param_lock": false,
"param_name": "background",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "背景差异性阈值",
"param_id": 1,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": " ",
"param_id": 12,
"param_lock": true,
"param_name": "barNum",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 9,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 5
},
{
"param_description": "辐条得分值",
"param_id": 10,
"param_lock": false,
"param_name": "barScore",
"param_show": true,
"param_src_algo_id": 0,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 60
},
{
"param_description": " ",
"param_file_path": "1_7_3_19_in.wsf",
"param_id": 19,
"param_lock": true,
"param_name": "barTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 7,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_file_path": "1_7_3_21_in.wsf",
"param_id": 21,
"param_lock": false,
"param_name": "baseImage",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂型号匹配分值",
"param_id": 9,
"param_lock": false,
"param_name": "cMatchScore",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 0.2
},
{
"param_description": "轮毂中心坐标,绑定气门芯标定",
"param_id": 6,
"param_lock": true,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1316.4891357421875,
"param_value_point_2": 954.30029296875
},
{
"param_description": "是否开启中心定位0关闭1开启",
"param_id": 5,
"param_lock": false,
"param_name": "centerAlg",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 1
},
{
"param_description": "轮毂中心模板, 绑定圆定位",
"param_file_path": "1_7_3_7_in.wsf",
"param_id": 7,
"param_lock": true,
"param_name": "centerRoi",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂区域框选",
"param_id": 8,
"param_lock": false,
"param_name": "cirlceArea",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9
},
{
"param_description": "0无气门芯标识绑定气门芯标定",
"param_id": 4,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "相似度评价阈值在0~100之间",
"param_id": 2,
"param_lock": false,
"param_name": "scoreTh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 70
},
{
"param_description": " ",
"param_id": 17,
"param_lock": true,
"param_name": "startDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 16,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 610.9727172851562
},
{
"param_description": " ",
"param_id": 14,
"param_lock": true,
"param_name": "startOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 15,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 1844
},
{
"param_description": " ",
"param_id": 16,
"param_lock": true,
"param_name": "valveDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 610.9514770507812
},
{
"param_description": " ",
"param_id": 13,
"param_lock": true,
"param_name": "valveOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 5,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 1842
},
{
"param_description": " ",
"param_file_path": "1_7_3_18_in.wsf",
"param_id": 18,
"param_lock": true,
"param_name": "valveTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 6,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_id": 15,
"param_lock": true,
"param_name": "valveWidth",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 4,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 45.5
},
{
"param_description": " ",
"param_file_path": "1_7_3_20_in.wsf",
"param_id": 20,
"param_lock": false,
"param_name": "weightMat",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂类型0摩伦1汽轮",
"param_id": 3,
"param_lock": false,
"param_name": "wheelType",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": " ",
"param_id": 11,
"param_lock": true,
"param_name": "withinOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 8,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 211
}
]
}
],
"property": [
{
"prop_name": "a",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "b",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "model_cali",
"prop_type": 1,
"prop_value": true
},
{
"prop_name": "model_plc",
"prop_type": 2,
"prop_value": 100
},
{
"prop_name": "model_time",
"prop_type": 10,
"prop_value": ""
}
],
"task_algo_base_id": 3,
"task_algo_run_id": 3,
"task_base_id": 0,
"task_cameraID": 1,
"task_default_dir": "",
"task_description": "",
"task_group_param_id": -1,
"task_id": 7,
"task_name": "123",
"task_run": true
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

@ -1,763 +0,0 @@
{
"algoArray": [
{
"algo_OutParam_base_id": 3,
"algo_base_id": 2,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 1,
"algo_lib_name": "",
"algo_name": "圆心定位",
"algo_path": "caliCenter.dll",
"algo_roi_id": 423241480,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "centerRoi",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
}
],
"paramArray": [
{
"param_description": "圆心模板",
"param_id": 1,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1210.0225830078125,
"roi_item_value2": 944.5979614257812,
"roi_item_value3": 212
}
]
]
}
]
},
{
"algo_OutParam_base_id": 9,
"algo_base_id": 4,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 2,
"algo_lib_name": "",
"algo_name": "气门芯标定",
"algo_path": "caliValve.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 14,
"out_param_name": "background",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 13,
"out_param_name": "backgroundThresh",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 15
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 9,
"out_param_name": "barNum",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 7,
"out_param_name": "barTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 11,
"out_param_name": "baseImage",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "center",
"out_param_save": false,
"out_param_type": 6
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 10,
"out_param_name": "flagCircle",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 16,
"out_param_name": "startDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 630.7222290039062
},
{
"out_param_description": " ",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 15,
"out_param_name": "startOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 3473
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "valveDis",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 607.931884765625
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "valveOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 2294
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 6,
"out_param_name": "valveTemplate",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "valveWidth",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 45.5
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 12,
"out_param_name": "weightMat",
"out_param_save": false,
"out_param_type": 10
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 8,
"out_param_name": "withinOffset",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 397
}
],
"paramArray": [
{
"param_description": "气门芯模板",
"param_id": 2,
"param_lock": false,
"param_name": "ROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 815.1021118164062,
"roi_item_value2": 1406.787353515625,
"roi_item_value3": 45.5
}
]
]
},
{
"param_description": "参考线模板",
"param_id": 4,
"param_lock": false,
"param_name": "StartROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1825.317626953125,
"roi_item_value2": 1083.243408203125,
"roi_item_value3": 48.5
}
]
]
},
{
"param_description": "背景剪除阈值",
"param_id": 6,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": "辐条数量",
"param_id": 9,
"param_lock": false,
"param_name": "barNum",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 6
},
{
"param_description": "辐条模板",
"param_id": 3,
"param_lock": false,
"param_name": "barROI",
"param_show": true,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9,
"param_value": [
[
{
"roi_item_type": 1,
"roi_item_value1": 1005.6840209960938,
"roi_item_value2": 1494.5419921875,
"roi_item_value3": 67.5
}
]
]
},
{
"param_description": "轮毂中心坐标,绑定圆心定位",
"param_id": 1,
"param_lock": false,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1210.0225830078125,
"param_value_point_2": 944.5979614257812
},
{
"param_description": "无气门芯识别",
"param_id": 5,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "背景图启用0关闭1打开",
"param_id": 8,
"param_lock": false,
"param_name": "ibackground",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "型号判定0关闭1打开",
"param_id": 7,
"param_lock": false,
"param_name": "ifClasify",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
}
]
},
{
"algo_OutParam_base_id": 15,
"algo_base_id": 13,
"algo_description": "",
"algo_exec_enabled": true,
"algo_func_name": "",
"algo_id": 3,
"algo_lib_name": "",
"algo_name": "检测",
"algo_path": "valveDetector.dll",
"algo_roi_id": 1,
"outParamArray": [
{
"out_param_description": "结果角度",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 3,
"out_param_name": "angle",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 241.9585
},
{
"out_param_description": "错误类型",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 4,
"out_param_name": "error",
"out_param_save": false,
"out_param_type": 0,
"out_param_value": 0
},
{
"out_param_description": "",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 1,
"out_param_name": "image",
"out_param_save": false,
"out_param_type": 4
},
{
"out_param_description": "结果提示",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 5,
"out_param_name": "resultTip",
"out_param_save": false,
"out_param_type": 2,
"out_param_value": "/70"
},
{
"out_param_description": "相似度得分",
"out_param_dest_algo_id": -1,
"out_param_dest_param_id": -1,
"out_param_dest_task_id": -1,
"out_param_id": 2,
"out_param_name": "score",
"out_param_save": false,
"out_param_type": 3,
"out_param_value": 1
}
],
"paramArray": [
{
"param_description": " ",
"param_file_path": "1_4_3_22_in.wsf",
"param_id": 22,
"param_lock": false,
"param_name": "background",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "背景差异性阈值",
"param_id": 1,
"param_lock": false,
"param_name": "backgroundThresh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 15
},
{
"param_description": " ",
"param_id": 12,
"param_lock": true,
"param_name": "barNum",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 9,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 6
},
{
"param_description": "辐条得分值",
"param_id": 10,
"param_lock": false,
"param_name": "barScore",
"param_show": true,
"param_src_algo_id": 0,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 60
},
{
"param_description": " ",
"param_file_path": "1_4_3_19_in.wsf",
"param_id": 19,
"param_lock": true,
"param_name": "barTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 7,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_file_path": "1_4_3_21_in.wsf",
"param_id": 21,
"param_lock": false,
"param_name": "baseImage",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂型号匹配分值",
"param_id": 9,
"param_lock": false,
"param_name": "cMatchScore",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 0.2
},
{
"param_description": "轮毂中心坐标,绑定气门芯标定",
"param_id": 6,
"param_lock": true,
"param_name": "center",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 1,
"param_src_task_id": -1,
"param_type": 6,
"param_value_point_1": 1207.2928466796875,
"param_value_point_2": 947.32763671875
},
{
"param_description": "是否开启中心定位0关闭1开启",
"param_id": 5,
"param_lock": false,
"param_name": "centerAlg",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 1
},
{
"param_description": "轮毂中心模板, 绑定圆定位",
"param_file_path": "1_4_3_7_in.wsf",
"param_id": 7,
"param_lock": true,
"param_name": "centerRoi",
"param_show": false,
"param_src_algo_id": 1,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂区域框选",
"param_id": 8,
"param_lock": false,
"param_name": "cirlceArea",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 9
},
{
"param_description": "0无气门芯标识绑定气门芯标定",
"param_id": 4,
"param_lock": false,
"param_name": "flagCircle",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": "相似度评价阈值在0~100之间",
"param_id": 2,
"param_lock": false,
"param_name": "scoreTh",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 70
},
{
"param_description": " ",
"param_id": 17,
"param_lock": true,
"param_name": "startDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 16,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 632.7935791015625
},
{
"param_description": " ",
"param_id": 14,
"param_lock": true,
"param_name": "startOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 15,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 3475
},
{
"param_description": " ",
"param_id": 16,
"param_lock": true,
"param_name": "valveDis",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 3,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 604.0834350585938
},
{
"param_description": " ",
"param_id": 13,
"param_lock": true,
"param_name": "valveOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 5,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 2295
},
{
"param_description": " ",
"param_file_path": "1_4_3_18_in.wsf",
"param_id": 18,
"param_lock": true,
"param_name": "valveTemplate",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 6,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": " ",
"param_id": 15,
"param_lock": true,
"param_name": "valveWidth",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 4,
"param_src_task_id": -1,
"param_type": 3,
"param_value": 45.5
},
{
"param_description": " ",
"param_file_path": "1_4_3_20_in.wsf",
"param_id": 20,
"param_lock": false,
"param_name": "weightMat",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": -1,
"param_src_task_id": -1,
"param_type": 10
},
{
"param_description": "轮毂类型0摩伦1汽轮",
"param_id": 3,
"param_lock": false,
"param_name": "wheelType",
"param_show": false,
"param_src_algo_id": -1,
"param_src_param_id": 0,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 0
},
{
"param_description": " ",
"param_id": 11,
"param_lock": true,
"param_name": "withinOffset",
"param_show": false,
"param_src_algo_id": 2,
"param_src_param_id": 8,
"param_src_task_id": -1,
"param_type": 0,
"param_value": 396
}
]
}
],
"property": [
{
"prop_name": "a",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "b",
"prop_type": 2,
"prop_value": 11
},
{
"prop_name": "model_cali",
"prop_type": 1,
"prop_value": true
},
{
"prop_name": "model_plc",
"prop_type": 2,
"prop_value": 100
},
{
"prop_name": "model_time",
"prop_type": 10,
"prop_value": ""
}
],
"task_algo_base_id": 3,
"task_algo_run_id": 3,
"task_base_id": 0,
"task_cameraID": 1,
"task_default_dir": "",
"task_description": "",
"task_group_param_id": -1,
"task_id": 4,
"task_name": "C3",
"task_run": true
}

@ -1,15 +0,0 @@
{
"solution_description": "aaa",
"solution_id": 1,
"solution_name": "1_模型列表",
"solution_type": 1,
"tasklist": [
"123",
"2423423",
"A1",
"AAA",
"C3",
"D4",
"template"
]
}

@ -1,30 +0,0 @@
{
"1_模型列表": [
{
"Name": "123",
"PlcIndex": 2
},
{
"Name": "A1",
"PlcIndex": 33
},
{
"Name": "D4",
"PlcIndex": 1
}
],
"2_模型列表": [
{
"Name": "2",
"PlcIndex": 1
},
{
"Name": "A1",
"PlcIndex": 14
},
{
"Name": "B2",
"PlcIndex": 2
}
]
}

@ -32,6 +32,7 @@ public:
virtual QString modelByPlcCmd(int nIndex) { return QString(); }
virtual bool addModel(QString strModel) = 0;
virtual bool delModel(QString strModel) = 0;
virtual bool modModel(QString strOld, QString strNew) = 0;
virtual QString uniqueModel(const QString &model){ return QString(); }
virtual bool setView(QWidget *pWgt) = 0;

@ -16,6 +16,7 @@ public:
virtual IStation* IGetStationByKey(QString) = 0;
virtual bool IAddModel(QString, QString) = 0;
virtual bool IDeleteModel(QString, QString) = 0;
virtual bool IModifyModel(QString, QString, QString) = 0;
virtual bool ISelModel(QString, QString) = 0;
virtual bool ISaveModel(QString, QString) = 0;
virtual bool IStandard(QString strName ,QString strModel) = 0;
@ -23,5 +24,6 @@ public:
virtual int IGetPLCIndex(QString strName, QString strModel) = 0;
virtual bool ISetPLCIndex(QString strName, QString strModel, int plcIndex) = 0;
virtual QString IFindModelName(QString strName, int plcIndex) = 0;
virtual QStringList IGetModelNames(QString) = 0;
};
#endif

@ -71,7 +71,18 @@ bool Station::delModel(QString strModel)
qDebug() << "del model" << strModel;
return true;
}
bool Station::modModel(QString strOld, QString strNew)
{
m_models.removeOne(strOld);
m_models.append(strNew);
if (m_models.size() == 0) {
setCurrentModel(QString());
}
if (m_pView) {
m_pView->resetModel();
}
return true;
}
int Station::modelCount() {
return m_models.size();
}

@ -39,6 +39,7 @@ public:
virtual bool addModel(QString strModel);
virtual bool delModel(QString strModel);
virtual bool modModel(QString strOld, QString strNew);
virtual bool setView(QWidget *pWgt);
virtual bool IStandard(QString strModel);
virtual int IGetPLCIndex(QString strModel);

@ -236,6 +236,49 @@ bool CWfCtrl::ISelModel(QString nStation, QString strModel)
return true;
}
bool CWfCtrl::IModifyModel(QString nStation, QString strModelold, QString strModelnew)
{
if (strModelold.isEmpty())
return false;
IStation *pStation = IGetStationByKey(nStation);
if (!pStation) {
return false;
}
QString strNow = pStation->currentRunningModel();
if (strNow == strModelold) {
return false;
}
if (m_pEngine)
{
IDetectorSolutionMgr* pMgr = m_pEngine->getSolutionMgr();
if (pMgr)
{
QMap<QString, IDetectorSolution*> solutionMap = pMgr->GetAllSolutions();
QMap<QString, IDetectorSolution*>::iterator it = solutionMap.find(nStation);
if (it != solutionMap.end())
{
IDetectorSolution* pSolution = *it;
if (pSolution) {
pSolution->ModifyTask(strModelold, strModelnew);
pSolution->SaveTaskByName("");
}
}
}
}
pStation->modModel(strModelold, strModelnew);
QMap<QString, QMap<QString, int>>::iterator it = m_PLCIndexs.find(nStation);
if (it != m_PLCIndexs.end())
{
int val = (*it).take(strModelold);
(*it).insert(strModelnew,val);
}
writeIndexParam();
return true;
}
QString CWfCtrl::IGetCurrentRuningModel(QString nIndex)
{
IStation *pStation = IGetStationByKey(nIndex);
@ -246,6 +289,24 @@ QString CWfCtrl::IGetCurrentRuningModel(QString nIndex)
return strNow;
}
QStringList CWfCtrl::IGetModelNames(QString nStation)
{
if (m_pEngine)
{
IDetectorSolutionMgr* pMgr = m_pEngine->getSolutionMgr();
if (pMgr)
{
QMap<QString, IDetectorSolution*> solutionMap = pMgr->GetAllSolutions();
QMap<QString, IDetectorSolution*>::iterator it = solutionMap.find(nStation);
if (it != solutionMap.end())
{
return (*it)->GetAllTaskNames();
}
}
}
return QStringList();
}
void CWfCtrl::writeIndexParam()
{
QString strPath = m_rootPath + "/user/plcIndex.json";

@ -27,8 +27,9 @@ public:
virtual bool IDeleteModel(QString, QString);
virtual bool ISaveModel(QString, QString);
virtual bool ISelModel(QString, QString);
virtual bool IModifyModel(QString, QString, QString);
virtual QString IGetCurrentRuningModel(QString);
virtual QStringList IGetModelNames(QString nStation);
void writeIndexParam();
void readIndexParam();
private:

@ -42,8 +42,8 @@ bool CDetectorUI::ShowMainFrame(class QWidget* parent)
m_pMainFrame->setWindowModality(Qt::ApplicationModal);
m_pMainFrame->setAttribute(Qt::WA_ShowModal, true);
m_pMainFrame->show();
//m_pMainFrame->showMaximized();
//m_pMainFrame->show();
m_pMainFrame->showMaximized();
return true;
}

@ -2,6 +2,7 @@
#include "ui_RoiDlg.h"
#include "colossusbase.h"
#include "QPalette"
#include "QSetCenterDlg.h"
#define WINDOWS_ICON ":/resource/app.png"
@ -45,6 +46,7 @@ CDsgRoiDlg::CDsgRoiDlg(QWidget *parent) : QDialog(parent), ui(new Ui::RoiDlg)
connect(ui->pushButton_2, SIGNAL(clicked()), this, SLOT(OnCancel()));
connect(ui->pushButton_7, SIGNAL(clicked()), this, SLOT(OnCircle()));
connect(ui->pushButton_8, SIGNAL(clicked()), this, SLOT(OnShowColorDlg()));
ui->pushButton_8->setAutoDefault(false);
connect(ui->pushButton_5, SIGNAL(clicked()), this, SLOT(OnShowTenFlag()));
@ -52,6 +54,7 @@ CDsgRoiDlg::CDsgRoiDlg(QWidget *parent) : QDialog(parent), ui(new Ui::RoiDlg)
m_pRoiScene = new RoiScene(this);
m_pRoiScene->SetGraphicsView(ui->graphicsView);
m_pRoiScene->SetInfoLable(ui->label_pixel_info);
connect(m_pRoiScene, SIGNAL(sgResetItem(QPoint, QRect)), this, SLOT(onROIMove(QPoint, QRect)));
connect(ui->m_pbUp, SIGNAL(clicked()), this, SLOT(OnMove()));
connect(ui->m_pbLeft, SIGNAL(clicked()), this, SLOT(OnMove()));
@ -467,6 +470,7 @@ void CDsgRoiDlg::showEvent(QShowEvent *evt)
return;
m_pRoiScene->Initialize(m_tempRoiData);
m_pRoiScene->DisableMenu(false);
ui->label_2->clear();
}
void CDsgRoiDlg::OnZoomIn()
@ -495,3 +499,9 @@ void CDsgRoiDlg::changeEvent(QEvent *event)
ui->retranslateUi(this);
}
}
Q_SLOT void CDsgRoiDlg::onROIMove(QPoint pos, QRect rect)
{
ui->label_2->setText(QString("center:[%1,%2]").arg(pos.x()).arg(pos.y()));
}

@ -25,9 +25,11 @@ public:
virtual void OnSetParam(IDetectorTask* pTask){}
virtual void showEvent(QShowEvent *evt);
Q_SLOT void onSliderChange(int value);
Q_SLOT void onROIMove(QPoint pos, QRect rect);
protected:
virtual void changeEvent(QEvent *event);
public slots :
public slots:
bool OnOk();
bool OnCancel();
void OnRectangle();

@ -1,163 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'DsgRoiDlg.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../DsgRoiDlg.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'DsgRoiDlg.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.4. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_CDsgRoiDlg_t {
QByteArrayData data[15];
char stringdata0[147];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_CDsgRoiDlg_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_CDsgRoiDlg_t qt_meta_stringdata_CDsgRoiDlg = {
{
QT_MOC_LITERAL(0, 0, 10), // "CDsgRoiDlg"
QT_MOC_LITERAL(1, 11, 14), // "onSliderChange"
QT_MOC_LITERAL(2, 26, 0), // ""
QT_MOC_LITERAL(3, 27, 5), // "value"
QT_MOC_LITERAL(4, 33, 4), // "OnOk"
QT_MOC_LITERAL(5, 38, 8), // "OnCancel"
QT_MOC_LITERAL(6, 47, 11), // "OnRectangle"
QT_MOC_LITERAL(7, 59, 9), // "OnEllipse"
QT_MOC_LITERAL(8, 69, 8), // "OnCircle"
QT_MOC_LITERAL(9, 78, 14), // "OnShowColorDlg"
QT_MOC_LITERAL(10, 93, 6), // "OnMove"
QT_MOC_LITERAL(11, 100, 8), // "OnZoomIn"
QT_MOC_LITERAL(12, 109, 9), // "OnZoomOut"
QT_MOC_LITERAL(13, 119, 13), // "OnSelectImage"
QT_MOC_LITERAL(14, 133, 13) // "OnShowTenFlag"
},
"CDsgRoiDlg\0onSliderChange\0\0value\0OnOk\0"
"OnCancel\0OnRectangle\0OnEllipse\0OnCircle\0"
"OnShowColorDlg\0OnMove\0OnZoomIn\0OnZoomOut\0"
"OnSelectImage\0OnShowTenFlag"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_CDsgRoiDlg[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
12, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 74, 2, 0x0a /* Public */,
4, 0, 77, 2, 0x0a /* Public */,
5, 0, 78, 2, 0x0a /* Public */,
6, 0, 79, 2, 0x0a /* Public */,
7, 0, 80, 2, 0x0a /* Public */,
8, 0, 81, 2, 0x0a /* Public */,
9, 0, 82, 2, 0x0a /* Public */,
10, 0, 83, 2, 0x0a /* Public */,
11, 0, 84, 2, 0x0a /* Public */,
12, 0, 85, 2, 0x0a /* Public */,
13, 0, 86, 2, 0x0a /* Public */,
14, 0, 87, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::Int, 3,
QMetaType::Bool,
QMetaType::Bool,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void CDsgRoiDlg::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
CDsgRoiDlg *_t = static_cast<CDsgRoiDlg *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onSliderChange((*reinterpret_cast< int(*)>(_a[1]))); break;
case 1: { bool _r = _t->OnOk();
if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
case 2: { bool _r = _t->OnCancel();
if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
case 3: _t->OnRectangle(); break;
case 4: _t->OnEllipse(); break;
case 5: _t->OnCircle(); break;
case 6: _t->OnShowColorDlg(); break;
case 7: _t->OnMove(); break;
case 8: _t->OnZoomIn(); break;
case 9: _t->OnZoomOut(); break;
case 10: _t->OnSelectImage(); break;
case 11: _t->OnShowTenFlag(); break;
default: ;
}
}
}
const QMetaObject CDsgRoiDlg::staticMetaObject = {
{ &QDialog::staticMetaObject, qt_meta_stringdata_CDsgRoiDlg.data,
qt_meta_data_CDsgRoiDlg, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *CDsgRoiDlg::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *CDsgRoiDlg::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_CDsgRoiDlg.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int CDsgRoiDlg::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 12)
qt_static_metacall(this, _c, _id, _a);
_id -= 12;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 12)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 12;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

@ -1,163 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'DsgRoiDlg.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../DsgRoiDlg.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'DsgRoiDlg.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.4. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_CDsgRoiDlg_t {
QByteArrayData data[15];
char stringdata0[147];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_CDsgRoiDlg_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_CDsgRoiDlg_t qt_meta_stringdata_CDsgRoiDlg = {
{
QT_MOC_LITERAL(0, 0, 10), // "CDsgRoiDlg"
QT_MOC_LITERAL(1, 11, 14), // "onSliderChange"
QT_MOC_LITERAL(2, 26, 0), // ""
QT_MOC_LITERAL(3, 27, 5), // "value"
QT_MOC_LITERAL(4, 33, 4), // "OnOk"
QT_MOC_LITERAL(5, 38, 8), // "OnCancel"
QT_MOC_LITERAL(6, 47, 11), // "OnRectangle"
QT_MOC_LITERAL(7, 59, 9), // "OnEllipse"
QT_MOC_LITERAL(8, 69, 8), // "OnCircle"
QT_MOC_LITERAL(9, 78, 14), // "OnShowColorDlg"
QT_MOC_LITERAL(10, 93, 6), // "OnMove"
QT_MOC_LITERAL(11, 100, 8), // "OnZoomIn"
QT_MOC_LITERAL(12, 109, 9), // "OnZoomOut"
QT_MOC_LITERAL(13, 119, 13), // "OnSelectImage"
QT_MOC_LITERAL(14, 133, 13) // "OnShowTenFlag"
},
"CDsgRoiDlg\0onSliderChange\0\0value\0OnOk\0"
"OnCancel\0OnRectangle\0OnEllipse\0OnCircle\0"
"OnShowColorDlg\0OnMove\0OnZoomIn\0OnZoomOut\0"
"OnSelectImage\0OnShowTenFlag"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_CDsgRoiDlg[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
12, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 1, 74, 2, 0x0a /* Public */,
4, 0, 77, 2, 0x0a /* Public */,
5, 0, 78, 2, 0x0a /* Public */,
6, 0, 79, 2, 0x0a /* Public */,
7, 0, 80, 2, 0x0a /* Public */,
8, 0, 81, 2, 0x0a /* Public */,
9, 0, 82, 2, 0x0a /* Public */,
10, 0, 83, 2, 0x0a /* Public */,
11, 0, 84, 2, 0x0a /* Public */,
12, 0, 85, 2, 0x0a /* Public */,
13, 0, 86, 2, 0x0a /* Public */,
14, 0, 87, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void, QMetaType::Int, 3,
QMetaType::Bool,
QMetaType::Bool,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void CDsgRoiDlg::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
CDsgRoiDlg *_t = static_cast<CDsgRoiDlg *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onSliderChange((*reinterpret_cast< int(*)>(_a[1]))); break;
case 1: { bool _r = _t->OnOk();
if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
case 2: { bool _r = _t->OnCancel();
if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = std::move(_r); } break;
case 3: _t->OnRectangle(); break;
case 4: _t->OnEllipse(); break;
case 5: _t->OnCircle(); break;
case 6: _t->OnShowColorDlg(); break;
case 7: _t->OnMove(); break;
case 8: _t->OnZoomIn(); break;
case 9: _t->OnZoomOut(); break;
case 10: _t->OnSelectImage(); break;
case 11: _t->OnShowTenFlag(); break;
default: ;
}
}
}
const QMetaObject CDsgRoiDlg::staticMetaObject = {
{ &QDialog::staticMetaObject, qt_meta_stringdata_CDsgRoiDlg.data,
qt_meta_data_CDsgRoiDlg, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *CDsgRoiDlg::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *CDsgRoiDlg::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_CDsgRoiDlg.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int CDsgRoiDlg::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 12)
qt_static_metacall(this, _c, _id, _a);
_id -= 12;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 12)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 12;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

@ -1,294 +0,0 @@
/********************************************************************************
** Form generated from reading UI file 'RoiDlg.ui'
**
** Created by: Qt User Interface Compiler version 5.9.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_ROIDLG_H
#define UI_ROIDLG_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QDialog>
#include <QtWidgets/QGraphicsView>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QLabel>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QSlider>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QVBoxLayout>
QT_BEGIN_NAMESPACE
class Ui_RoiDlg
{
public:
QGridLayout *gridLayout_3;
QGroupBox *groupBox;
QVBoxLayout *verticalLayout;
QLabel *label_pixel_info;
QGraphicsView *graphicsView;
QGroupBox *groupBox_2;
QGridLayout *gridLayout_2;
QHBoxLayout *horizontalLayout_2;
QLabel *label_Color;
QPushButton *pushButton_8;
QPushButton *pushButton_7;
QPushButton *pushButton_5;
QSpacerItem *verticalSpacer;
QHBoxLayout *horizontalLayout_3;
QLabel *label;
QSlider *horizontalSlider;
QGridLayout *gridLayout;
QSpacerItem *verticalSpacer_2;
QToolButton *m_pbUp;
QToolButton *m_pbDown;
QToolButton *m_pbRight;
QToolButton *m_pbLeft;
QToolButton *toolButton;
QHBoxLayout *horizontalLayout;
QSpacerItem *horizontalSpacer_5;
QPushButton *pushButton;
QPushButton *pushButton_2;
void setupUi(QDialog *RoiDlg)
{
if (RoiDlg->objectName().isEmpty())
RoiDlg->setObjectName(QStringLiteral("RoiDlg"));
RoiDlg->setWindowModality(Qt::ApplicationModal);
RoiDlg->resize(925, 623);
gridLayout_3 = new QGridLayout(RoiDlg);
gridLayout_3->setObjectName(QStringLiteral("gridLayout_3"));
groupBox = new QGroupBox(RoiDlg);
groupBox->setObjectName(QStringLiteral("groupBox"));
QFont font;
font.setPointSize(12);
groupBox->setFont(font);
verticalLayout = new QVBoxLayout(groupBox);
verticalLayout->setSpacing(2);
verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
verticalLayout->setContentsMargins(6, 6, 6, 6);
label_pixel_info = new QLabel(groupBox);
label_pixel_info->setObjectName(QStringLiteral("label_pixel_info"));
label_pixel_info->setFont(font);
verticalLayout->addWidget(label_pixel_info);
graphicsView = new QGraphicsView(groupBox);
graphicsView->setObjectName(QStringLiteral("graphicsView"));
graphicsView->setFont(font);
graphicsView->setStyleSheet(QStringLiteral("background-color: rgb(212, 212, 212);"));
graphicsView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
graphicsView->setResizeAnchor(QGraphicsView::AnchorUnderMouse);
verticalLayout->addWidget(graphicsView);
gridLayout_3->addWidget(groupBox, 0, 0, 1, 1);
groupBox_2 = new QGroupBox(RoiDlg);
groupBox_2->setObjectName(QStringLiteral("groupBox_2"));
groupBox_2->setMaximumSize(QSize(140, 16777215));
groupBox_2->setFont(font);
gridLayout_2 = new QGridLayout(groupBox_2);
gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2"));
label_Color = new QLabel(groupBox_2);
label_Color->setObjectName(QStringLiteral("label_Color"));
QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(label_Color->sizePolicy().hasHeightForWidth());
label_Color->setSizePolicy(sizePolicy);
horizontalLayout_2->addWidget(label_Color);
pushButton_8 = new QPushButton(groupBox_2);
pushButton_8->setObjectName(QStringLiteral("pushButton_8"));
pushButton_8->setMaximumSize(QSize(80, 16777215));
pushButton_8->setFont(font);
horizontalLayout_2->addWidget(pushButton_8);
gridLayout_2->addLayout(horizontalLayout_2, 0, 0, 1, 1);
pushButton_7 = new QPushButton(groupBox_2);
pushButton_7->setObjectName(QStringLiteral("pushButton_7"));
pushButton_7->setMinimumSize(QSize(0, 30));
pushButton_7->setMaximumSize(QSize(130, 16777215));
pushButton_7->setFont(font);
gridLayout_2->addWidget(pushButton_7, 1, 0, 1, 1);
pushButton_5 = new QPushButton(groupBox_2);
pushButton_5->setObjectName(QStringLiteral("pushButton_5"));
pushButton_5->setMinimumSize(QSize(0, 30));
pushButton_5->setFont(font);
gridLayout_2->addWidget(pushButton_5, 2, 0, 1, 1);
verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout_2->addItem(verticalSpacer, 3, 0, 1, 1);
horizontalLayout_3 = new QHBoxLayout();
horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3"));
label = new QLabel(groupBox_2);
label->setObjectName(QStringLiteral("label"));
horizontalLayout_3->addWidget(label);
horizontalSlider = new QSlider(groupBox_2);
horizontalSlider->setObjectName(QStringLiteral("horizontalSlider"));
horizontalSlider->setMinimum(1);
horizontalSlider->setMaximum(10);
horizontalSlider->setPageStep(1);
horizontalSlider->setOrientation(Qt::Horizontal);
horizontalSlider->setInvertedAppearance(false);
horizontalSlider->setInvertedControls(false);
horizontalSlider->setTickPosition(QSlider::TicksAbove);
horizontalSlider->setTickInterval(1);
horizontalLayout_3->addWidget(horizontalSlider);
gridLayout_2->addLayout(horizontalLayout_3, 4, 0, 1, 1);
gridLayout = new QGridLayout();
gridLayout->setSpacing(0);
gridLayout->setObjectName(QStringLiteral("gridLayout"));
gridLayout->setContentsMargins(-1, 5, -1, -1);
verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout->addItem(verticalSpacer_2, 3, 1, 1, 1);
m_pbUp = new QToolButton(groupBox_2);
m_pbUp->setObjectName(QStringLiteral("m_pbUp"));
QIcon icon;
icon.addFile(QStringLiteral(":/resource/caret-up.png"), QSize(), QIcon::Normal, QIcon::Off);
m_pbUp->setIcon(icon);
m_pbUp->setIconSize(QSize(32, 32));
m_pbUp->setAutoRaise(true);
gridLayout->addWidget(m_pbUp, 0, 1, 1, 1);
m_pbDown = new QToolButton(groupBox_2);
m_pbDown->setObjectName(QStringLiteral("m_pbDown"));
QIcon icon1;
icon1.addFile(QStringLiteral(":/resource/caret-down.png"), QSize(), QIcon::Normal, QIcon::Off);
m_pbDown->setIcon(icon1);
m_pbDown->setIconSize(QSize(32, 32));
m_pbDown->setAutoRaise(true);
gridLayout->addWidget(m_pbDown, 2, 1, 1, 1);
m_pbRight = new QToolButton(groupBox_2);
m_pbRight->setObjectName(QStringLiteral("m_pbRight"));
QIcon icon2;
icon2.addFile(QStringLiteral(":/resource/caret-right.png"), QSize(), QIcon::Normal, QIcon::Off);
m_pbRight->setIcon(icon2);
m_pbRight->setIconSize(QSize(32, 32));
m_pbRight->setAutoRaise(true);
gridLayout->addWidget(m_pbRight, 1, 2, 1, 1);
m_pbLeft = new QToolButton(groupBox_2);
m_pbLeft->setObjectName(QStringLiteral("m_pbLeft"));
QIcon icon3;
icon3.addFile(QStringLiteral(":/resource/caret-left.png"), QSize(), QIcon::Normal, QIcon::Off);
m_pbLeft->setIcon(icon3);
m_pbLeft->setIconSize(QSize(32, 32));
m_pbLeft->setAutoRaise(true);
gridLayout->addWidget(m_pbLeft, 1, 0, 1, 1);
toolButton = new QToolButton(groupBox_2);
toolButton->setObjectName(QStringLiteral("toolButton"));
toolButton->setEnabled(false);
QIcon icon4;
icon4.addFile(QStringLiteral(":/resource/btn-close.png"), QSize(), QIcon::Normal, QIcon::Off);
toolButton->setIcon(icon4);
toolButton->setIconSize(QSize(32, 32));
toolButton->setCheckable(false);
toolButton->setAutoRepeat(false);
toolButton->setAutoExclusive(false);
toolButton->setPopupMode(QToolButton::DelayedPopup);
toolButton->setAutoRaise(true);
toolButton->setArrowType(Qt::NoArrow);
gridLayout->addWidget(toolButton, 1, 1, 1, 1);
gridLayout_2->addLayout(gridLayout, 5, 0, 1, 1);
gridLayout_3->addWidget(groupBox_2, 0, 1, 1, 1);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
horizontalSpacer_5 = new QSpacerItem(649, 27, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout->addItem(horizontalSpacer_5);
pushButton = new QPushButton(RoiDlg);
pushButton->setObjectName(QStringLiteral("pushButton"));
pushButton->setMinimumSize(QSize(0, 30));
pushButton->setFont(font);
horizontalLayout->addWidget(pushButton);
pushButton_2 = new QPushButton(RoiDlg);
pushButton_2->setObjectName(QStringLiteral("pushButton_2"));
pushButton_2->setMinimumSize(QSize(0, 30));
pushButton_2->setFont(font);
horizontalLayout->addWidget(pushButton_2);
gridLayout_3->addLayout(horizontalLayout, 1, 0, 1, 2);
retranslateUi(RoiDlg);
QMetaObject::connectSlotsByName(RoiDlg);
} // setupUi
void retranslateUi(QDialog *RoiDlg)
{
RoiDlg->setWindowTitle(QApplication::translate("RoiDlg", "ROI\346\243\200\346\265\213\345\214\272\345\237\237\351\205\215\347\275\256", Q_NULLPTR));
groupBox->setTitle(QApplication::translate("RoiDlg", "\347\273\230\345\233\276\345\214\272\345\237\237\357\274\232", Q_NULLPTR));
label_pixel_info->setText(QApplication::translate("RoiDlg", "Pixel info: ", Q_NULLPTR));
groupBox_2->setTitle(QApplication::translate("RoiDlg", "\345\267\245\345\205\267", Q_NULLPTR));
label_Color->setText(QString());
pushButton_8->setText(QApplication::translate("RoiDlg", "\351\242\234\350\211\262", Q_NULLPTR));
pushButton_7->setText(QApplication::translate("RoiDlg", "\345\234\206", Q_NULLPTR));
pushButton_5->setText(QApplication::translate("RoiDlg", "\345\215\201\345\255\227\346\240\207\345\256\232\347\272\277", Q_NULLPTR));
label->setText(QApplication::translate("RoiDlg", "\346\255\245\351\225\277", Q_NULLPTR));
m_pbUp->setText(QApplication::translate("RoiDlg", "...", Q_NULLPTR));
m_pbDown->setText(QApplication::translate("RoiDlg", "...", Q_NULLPTR));
m_pbRight->setText(QApplication::translate("RoiDlg", "...", Q_NULLPTR));
m_pbLeft->setText(QApplication::translate("RoiDlg", "...", Q_NULLPTR));
toolButton->setText(QApplication::translate("RoiDlg", "...", Q_NULLPTR));
pushButton->setText(QApplication::translate("RoiDlg", "\347\241\256\345\256\232", Q_NULLPTR));
pushButton_2->setText(QApplication::translate("RoiDlg", "\345\217\226\346\266\210", Q_NULLPTR));
} // retranslateUi
};
namespace Ui {
class RoiDlg: public Ui_RoiDlg {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_ROIDLG_H

@ -2,6 +2,7 @@
#include "ui_MainFrame.h"
#include "colossusbase.h"
#include <QHeaderView>
#pragma execution_character_set("utf-8")
#define WINDOWS_ICON ":/resource/app.png"
QString showVariant(const AlgoParamType type, const QVariant &var) {
@ -151,6 +152,7 @@ CMainFrame::CMainFrame(QWidget *parent)
m_plablStatus = new QLabel(this);//菜单栏提示信息
ui->statusBar->addWidget(m_plablStatus);
_pSaveStatus = ui->label_SaveStatus;
}
CMainFrame::~CMainFrame()
@ -242,6 +244,8 @@ bool CMainFrame::InitGraphView()
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->verticalHeader()->setHidden(true);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(4, QHeaderView::Stretch);
ui->tableWidget->hideColumn(2);
ui->tableWidget_2->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableWidget_2->setSelectionMode(QAbstractItemView::SingleSelection);
@ -251,8 +255,7 @@ bool CMainFrame::InitGraphView()
ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Custom);
ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Custom);
ui->tableWidget_2->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(4, QHeaderView::Stretch);
ui->tableWidget->hideColumn(2);
ui->tableWidget_2->hideColumn(2);
ui->textEdit->setWordWrapMode(QTextOption::NoWrap);
@ -301,6 +304,7 @@ bool CMainFrame::InitGraphView()
}
}
m_TaskChangeList.clear();
if (!InitCurrentTask())
return true;
return true;
@ -318,7 +322,9 @@ bool CMainFrame::InitCurrentTask()
ui->textEdit->clear();
if (!InitCurrentNode())
{
return false;
}
IDetectorTask* ptask = currentTask();
if (ptask)
@ -736,6 +742,12 @@ bool CMainFrame::OnSetAlgo()
m_tParamMgrDlg.setWindowModality(Qt::ApplicationModal);
m_tParamMgrDlg.setAttribute(Qt::WA_ShowModal, true);
m_tParamMgrDlg.ShowParamMgrDlg(pAlgo);
QString strName = m_pCurrentTask->GetTaskInfo()->strName;
if (!m_TaskChangeList.contains(strName))
{
m_TaskChangeList.append(strName);
}
}
}
return true;
@ -766,6 +778,12 @@ bool CMainFrame::OnSetOutParam()
m_tParamMgrDlg.setWindowModality(Qt::ApplicationModal);
m_tParamMgrDlg.setAttribute(Qt::WA_ShowModal, true);
m_tParamMgrDlg.ShowParamMgrDlg(pAlgo);
QString strName = m_pCurrentTask->GetTaskInfo()->strName;
if (!m_TaskChangeList.contains(strName))
{
m_TaskChangeList.append(strName);
}
}
}
return true;
@ -961,7 +979,9 @@ bool CMainFrame::OnSelectAlgo()
item->setText(strText);
return true;
}
}
}
return true;
@ -1176,7 +1196,7 @@ bool CMainFrame::OnEditParam()
AlgoParamType type;
PLP_ALGORITHM_PARAM pParam = NULL;
pParam = m_pCurrentAlgo->GetParamByName(strParaName);
if (pParam)
if (pParam)//编辑算法参数
{
if (!m_tParamDlg.InitGraphView())
return false;
@ -1186,13 +1206,15 @@ bool CMainFrame::OnEditParam()
m_tParamDlg.setWindowModality(Qt::ApplicationModal);
m_tParamDlg.setAttribute(Qt::WA_ShowModal, true);
m_tParamDlg.ShowParamDlg(pParam);
if (_pOldTask)
if (_pOldTask)//编辑完成 输出信息
{
QString st = _pOldTask->GetTaskInfo()->strName;
if (!m_TaskChangeList.contains(st))
{
m_TaskChangeList.append(st);
}
//自动刷新算法参数栏
OnInitCurrentAlgoParam();
}
return true;
}
@ -1506,7 +1528,7 @@ Q_SLOT void CMainFrame::onLoadImage()
if (!currentTask())
return ;
QString strDefaultDirPath = m_pCurrentTask->GetTaskInfo()->strDirPath;
QString strDefaultDirPath;// = lpdesignerConfig::instance()->m_SaveImgDirPath + "/data/";// m_pCurrentTask->GetTaskInfo()->strDirPath;
QStringList strFileNamesList = QFileDialog::getOpenFileNames(this, "open file", strDefaultDirPath, "Images (*.bmp *.png *.xpm *.jpg)");
if (strFileNamesList.size() <= 0)
{

@ -0,0 +1,55 @@
#include "QSetCenterDlg.h"
#include "QMessageBox"
#pragma execution_character_set("utf-8")
QSetCenterDlg::QSetCenterDlg(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
}
QSetCenterDlg::~QSetCenterDlg()
{
}
void QSetCenterDlg::setCenter(double x, double y)
{
ui.lineEdit->setText(QString("%1").arg(x));
ui.lineEdit_2->setText(QString("%1").arg(y));
}
void QSetCenterDlg::getCenter(double &x, double &y)
{
x = ui.lineEdit->text().toDouble();
y = ui.lineEdit_2->text().toDouble();
}
void QSetCenterDlg::setRange(QRect rect, QPointF imgSize)
{
m_ItemRect = rect;
m_ImgSize = imgSize;
}
Q_SLOT void QSetCenterDlg::onButtonClicked()
{
QString strObj = sender()->objectName();
if (strObj == "pushButton")
{
double x = ui.lineEdit->text().toDouble();
double y = ui.lineEdit_2->text().toDouble();
if ((x + m_ItemRect.width() / 2) > m_ImgSize.x() || (x - m_ItemRect.width() / 2) < 0 || (y - m_ItemRect.height() / 2) < 0 || (y + m_ItemRect.height() / 2) > m_ImgSize.y())
{
QMessageBox::warning(this, QObject::tr("警告"), QObject::tr("设置的圆心坐标导致整个ROI超出检测范围不合法请重新设置"));
return;
}
QDialog::accept();
}
else if (strObj == "pushButton_2")
{
QDialog::reject();
}
}

@ -0,0 +1,24 @@
#ifndef _QSETCENTERDLG_H_
#define _QSETCENTERDLG_H_
#include <QDialog>
#include "ui_QSetCenterDlg.h"
class QSetCenterDlg : public QDialog
{
Q_OBJECT
public:
QSetCenterDlg(QWidget *parent = Q_NULLPTR);
~QSetCenterDlg();
void setCenter(double x, double y);
void getCenter(double &x, double &y);
void setRange(QRect rect, QPointF imgSize);
Q_SLOT void onButtonClicked();
private:
Ui::QSetCenterDlg ui;
QRect m_ItemRect;
QPointF m_ImgSize;
};
#endif

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QSetCenterDlg</class>
<widget class="QDialog" name="QSetCenterDlg">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>209</width>
<height>100</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="windowTitle">
<string>圆心坐标设置</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="sizeConstraint">
<enum>QLayout::SetFixedSize</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>圆心X坐标</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit">
<property name="text">
<string>0</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>圆心Y坐标</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_2">
<property name="text">
<string>0</string>
</property>
</widget>
</item>
<item row="2" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButton">
<property name="text">
<string>确定</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>

@ -230,27 +230,17 @@
<property name="spacing">
<number>0</number>
</property>
<item row="3" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
<item row="1" column="1">
<widget class="QToolButton" name="toolButton">
<property name="enabled">
<bool>false</bool>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QToolButton" name="m_pbUp">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/caret-up.png</normaloff>:/resource/caret-up.png</iconset>
<normaloff>:/resource/btn-close.png</normaloff>:/resource/btn-close.png</iconset>
</property>
<property name="iconSize">
<size>
@ -258,11 +248,39 @@
<height>32</height>
</size>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<property name="autoRepeat">
<bool>false</bool>
</property>
<property name="autoExclusive">
<bool>false</bool>
</property>
<property name="popupMode">
<enum>QToolButton::DelayedPopup</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
<property name="arrowType">
<enum>Qt::NoArrow</enum>
</property>
</widget>
</item>
<item row="3" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<widget class="QToolButton" name="m_pbDown">
<property name="text">
@ -323,17 +341,14 @@
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QToolButton" name="toolButton">
<property name="enabled">
<bool>false</bool>
</property>
<item row="0" column="1">
<widget class="QToolButton" name="m_pbUp">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="image.qrc">
<normaloff>:/resource/btn-close.png</normaloff>:/resource/btn-close.png</iconset>
<normaloff>:/resource/caret-up.png</normaloff>:/resource/caret-up.png</iconset>
</property>
<property name="iconSize">
<size>
@ -341,24 +356,9 @@
<height>32</height>
</size>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<property name="autoRepeat">
<bool>false</bool>
</property>
<property name="autoExclusive">
<bool>false</bool>
</property>
<property name="popupMode">
<enum>QToolButton::DelayedPopup</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
<property name="arrowType">
<enum>Qt::NoArrow</enum>
</property>
</widget>
</item>
</layout>
@ -368,6 +368,18 @@
</item>
<item row="1" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">

@ -4,6 +4,7 @@
#include "RoiItem.h"
#include "QGraphicsSceneEvent"
#include "colossusbase.h"
#include "QSetCenterDlg.h"
#pragma execution_character_set("utf-8")
RoiScene::RoiScene(QObject *parent)
@ -55,6 +56,7 @@ void RoiScene::mouseEvent(QGraphicsSceneMouseEvent *mouseEvent)
bool RoiScene::Initialize(LP_DETECTOR_ROI_DATA roiData)
{
if (pLineItem)
{
removeItem(pLineItem);
@ -300,6 +302,7 @@ void RoiScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
if (tool)
tool->mouseMoveEvent(mouseEvent, this);
QGraphicsScene::mouseMoveEvent(mouseEvent);
emit sgResetItem(maptoImgPos(item->scenePos()), item->boundingRect().toRect());
}
else
{
@ -327,7 +330,7 @@ void RoiScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent)
if (item != 0)
{
//m_pRoiDlg->ResetItem(maptoImgPos(mouseEvent->scenePos()), item->boundingRect().toRect());
emit sgResetItem(maptoImgPos(mouseEvent->scenePos()), item->boundingRect().toRect());
emit sgResetItem(maptoImgPos(item->scenePos()), item->boundingRect().toRect());
m_graphItemMapStruct[item].rectf = maptoImgNewPos(item);
DrawTool::c_drawShape = selection;
QGraphicsScene::mouseReleaseEvent(mouseEvent);
@ -343,8 +346,10 @@ void RoiScene::MoveSelectedItem(DirType type, int step)
if (items.count() == 1)
item = qgraphicsitem_cast<GraphicsItem*>(items.first());
if (item != 0 && !item->GetCheckState())
{
//item->setPos(0, 0);
switch (type)
{
case LEFT:
@ -534,7 +539,9 @@ void RoiScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
}
}
}
menu.addSeparator();
QAction *setCenter = menu.addAction(QObject::tr("设置圆心"));
setCenter->setObjectName("setCenter");
QAction *selectedAction = menu.exec(event->screenPos());
if (selectedAction == NULL)
{
@ -717,6 +724,30 @@ void RoiScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
}
updateLineItem();
}
else if (strObj == "setCenter")
{
if (ptmpItem)
{
QPointF s = maptoImgPos(ptmpItem->scenePos());
QSetCenterDlg dlg((QWidget*)(this->parent()));
dlg.setCenter(s.x(),s.y());
dlg.setRange(ptmpItem->boundingRect().toRect(), mImgPosOffSet * 2);
if (dlg.exec() == QDialog::Accepted)
{
double x = 0;
double y = 0;
dlg.getCenter(x, y);
QPointF itemPoint;
itemPoint.setX(x);
itemPoint.setY(y);
QPointF tt = itemPoint - mImgPosOffSet;
QPointF fff = maptoImgPos(tt);
ptmpItem->setPos(tt);
}
m_graphItemMapStruct[ptmpItem].rectf = maptoImgNewPos(ptmpItem);
}
}
QGraphicsScene::contextMenuEvent(event);
menu.clear();
update();

@ -67,7 +67,6 @@ public:
void updateTenItem(bool bFlag);
int flag{ 0 };
bool bUseTenFlag{ false };
signals:
void sgResetItem(QPoint pos, QRect size);
protected:

@ -141,6 +141,19 @@ bool Solution::DeleteTask(QString strName)
return false;
}
bool Solution::ModifyTask(QString strOldName, QString strNewName)
{
QMap<QString, IDetectorTask*>::iterator its = m_TaskMapByName.find(strOldName);
if (its != m_TaskMapByName.end())
{
(*its)->RenameFile(strOldName, strNewName);
IDetectorTask* pTask = m_TaskMapByName.take(strOldName);
m_TaskMapByName.insert(strNewName, pTask);
return true;
}
return false;
}
IDetectorTask* Solution::GetTaskByName(QString strName)
{
QMap<QString, IDetectorTask*>::iterator its = m_TaskMapByName.find(strName);
@ -383,6 +396,9 @@ bool Solution::LoadFileEx(const QString& strPath)
m_tasklist.append(taskName);
QString strTaskPath = strPath + "/" + taskName;
QDir qDir(strTaskPath);
if (!qDir.exists())
continue;
LP_DETECTOR_TASK Task;
Task.strName = taskName;
CDetectorTask* pTask = (CDetectorTask*)AddTask(&Task, strTaskPath);//有隐藏bug

@ -11,6 +11,7 @@ public:
virtual bool AddTaskByTemplate(QString strName);
virtual IDetectorTask* AddTask(const PLP_DETECTOR_TASK pTask);
virtual bool DeleteTask(QString strName);
virtual bool ModifyTask(QString strOldName, QString strNewName);
virtual IDetectorTask* GetTaskByName(QString strName);
virtual QStringList GetAllTaskNames();
virtual QMap<QString, IDetectorTask*> GetAllTasks();

@ -140,6 +140,7 @@ bool CDetectorSolutionMgr::SaveByNames(QStringList strNames)
//加载配置文件
bool CDetectorSolutionMgr::Load()
{
/*在应用程序的根目录下寻找solution文件夹没有即创建*/
QString strExePath = QCoreApplication::applicationDirPath();
QString strSolutionDirPath = strExePath + LP_DETECTOR_BUSSINESS_CONFIG_SOLUTION_DIR;
QDir solutionDir(strSolutionDirPath);
@ -149,7 +150,7 @@ bool CDetectorSolutionMgr::Load()
}
m_nRunSolutionID.clear();
/*遍历solution文件夹下的所有文件夹每一个文件夹即是一个子solution*/
solutionDir.setFilter(QDir::Dirs | QDir::Hidden | QDir::NoSymLinks);
solutionDir.setSorting(QDir::Size | QDir::Reversed);
QFileInfoList dirList = solutionDir.entryInfoList();
@ -160,7 +161,8 @@ bool CDetectorSolutionMgr::Load()
if (dirList.at(i).fileName() == "." || dirList.at(i).fileName() == "..")
continue;
//加载解决方案文件夹
//加载解决方案文件夹 判断子solution文件里使用包含info.json文件有该文件表示solution有效solution名和文件夹名一致
/*如果需要修改solution的名字需要手动在后台修改solution的文件夹名字即可*/
QString strSolutionFile = strSolutionDirPath + dirList.at(i).fileName();
QString path = strSolutionFile + "/info.json";
QFileInfo finfo(path);
@ -168,8 +170,8 @@ bool CDetectorSolutionMgr::Load()
continue;
LP_DETECTOR_SOLUTION solutionInfo;
solutionInfo.strName = dirList.at(i).fileName();
solutionInfo.strName = dirList.at(i).fileName();//设置solution名
/*开始加载solution*/
Solution* pSolution = (Solution*)AddSolution(&solutionInfo);
if (!pSolution->LoadFileEx(strSolutionFile))
{//有bug
@ -184,7 +186,7 @@ bool CDetectorSolutionMgr::Load()
return true;
}
/*暂时弃用*/
bool CDetectorSolutionMgr::LoadByNames(QStringList strNames)
{
return true;

@ -13,6 +13,7 @@ public:
IDetectorSolution* GetSolutionByID(QString strName);
int GetSolutionCount();
QMap<QString, IDetectorSolution*> GetAllSolutions();
void CleanUp();
bool Initialize(IAlgorithmLibMgr* pAlgoLibMgr);

@ -24,6 +24,7 @@ static inline bool DelDiretory(const QString &dirPath)
return qDir.rmdir(dirPath);
}
CDetectorTask::CDetectorTask()
{
m_nID = LP_DETECTOR_INVALID_ID;
@ -488,6 +489,23 @@ bool CDetectorTask::RemoveFile()
DelDiretory(m_taskPath);
return true;
}
/*对task重命名*/
bool CDetectorTask::RenameFile(QString strOldName, QString strNewName)
{
if (m_taskPath.isEmpty())
return false;
QDir qDir(m_taskPath);
if (!qDir.exists())
return false;
QString strOld = m_taskPath;
int pos = strOld.lastIndexOf(strOldName);
QString s = strOld.mid(0, pos);
m_taskPath = s + strNewName;
bool b = qDir.rename(strOld, m_taskPath);
strParamFilePath = m_taskPath + "/taskinfo.json";
m_tTask.strName = strNewName;
return true;
}
bool CDetectorTask::AppendOtherFile(QString strpath)
{

@ -57,6 +57,7 @@ public:
virtual bool SaveFile(const QString& strPath);
virtual bool LoadFile(const QString& strPath);
virtual bool RemoveFile();
virtual bool RenameFile(QString strOldName, QString strNewName);
virtual bool AppendOtherFile(QString strpath);
bool SerializeToJson(QJsonObject& jsonObject);

@ -0,0 +1,56 @@
#include "QModModeUI.h"
#include "QMessageBox"
#include "QIcon"
#pragma execution_character_set("utf-8")
QModModeUI::QModModeUI(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
}
QModModeUI::~QModModeUI()
{
}
void QModModeUI::setModelName(QString strName, QStringList names)
{
ui.lineEdit->setText(strName);
m_names = names;
}
Q_SLOT void QModModeUI::onButtonClicked()
{
QString strObj = sender()->objectName();
if (strObj == "pushButton")
{
QString strName = getInputName();
if (strName.isEmpty())
{
QMessageBox msgWarning(QMessageBox::Warning, QObject::tr("错误警告"), strName + QObject::tr("型号名不能为空"), QMessageBox::Yes);
msgWarning.setWindowIcon(QIcon(":/leaper/Resource/app.png"));
msgWarning.setButtonText(QMessageBox::Yes, QObject::tr("确认"));
msgWarning.exec();
return;
}
if (m_names.contains(strName))
{
QMessageBox msgWarning(QMessageBox::Warning, QObject::tr("错误警告"), strName + QObject::tr(" 名字重复,请重新输入"), QMessageBox::Yes);
msgWarning.setWindowIcon(QIcon(":/leaper/Resource/app.png"));
msgWarning.setButtonText(QMessageBox::Yes, QObject::tr("确认"));
msgWarning.exec();
return;
}
QDialog::accept();
}
else if (strObj == "pushButton_2")
{
QDialog::reject();
}
}
QString QModModeUI::getInputName()
{
return ui.lineEdit_2->text();
}

@ -0,0 +1,22 @@
#ifndef _QMODMODEUI_H_
#define _QMODMODEUI_H_
#include <QDialog>
#include "ui_QModModeUI.h"
class QModModeUI : public QDialog
{
Q_OBJECT
public:
QModModeUI(QWidget *parent = Q_NULLPTR);
~QModModeUI();
void setModelName(QString strName, QStringList names);
Q_SLOT void onButtonClicked();
QString getInputName();
private:
Ui::QModModeUI ui;
QStringList m_names;
};
#endif

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>QModModeUI</class>
<widget class="QDialog" name="QModModeUI">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>303</width>
<height>169</height>
</rect>
</property>
<property name="windowTitle">
<string>型号名修改</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="sizeConstraint">
<enum>QLayout::SetFixedSize</enum>
</property>
<item row="1" column="0" colspan="3">
<widget class="QLineEdit" name="lineEdit">
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3">
<widget class="QLineEdit" name="lineEdit_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>35</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
</widget>
</item>
<item row="2" column="0" colspan="3">
<widget class="QLabel" name="label_2">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>新型号名:</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="3">
<widget class="QLabel" name="label">
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>旧型号名:</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QPushButton" name="pushButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>确认</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="pushButton_2">
<property name="minimumSize">
<size>
<width>0</width>
<height>25</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>取消</string>
</property>
</widget>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>

@ -8,6 +8,7 @@
#include "IStation.h"
#include "IWfCtrl.h"
#include "lpGlobalConfig.h"
#include "QModModeUI.h"
#define LP_WF_PLC_MAX_INDEX 1000
#pragma execution_character_set("utf-8")
QModelMangerUI::QModelMangerUI(QWidget *parent)
@ -22,7 +23,7 @@ QModelMangerUI::QModelMangerUI(QWidget *parent)
//connect(m_srcImgView, SIGNAL(sgImageScale(qreal)), this, SLOT(onImageScale(qreal)));
ui.wf_model_mod_button->setVisible(false);
//ui.wf_model_mod_button->setVisible(false);
connect(ui.wf_model_select_button, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.wf_model_add_button, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
connect(ui.wf_model_mod_button, SIGNAL(clicked()), this, SLOT(onButtonClicked()));
@ -116,6 +117,43 @@ Q_SLOT void QModelMangerUI::onButtonClicked()
}
else if ("wf_model_mod_button" == strObj) {
QString nStaionID = currentTab();
IStation *pStation = m_pCtrl->IGetStationByKey(nStaionID);
if (pStation) {
QString strModel = pStation->currentSelectModel();
if (!strModel.isEmpty()) {
QString strName = m_pCtrl->IGetCurrentRuningModel(currentTab());
if (strModel == strName)
{
QMessageBox msgWarning(QMessageBox::Warning, QObject::tr("错误警告"), strModel + QObject::tr(" 正在使用,不能被修改"), QMessageBox::Yes);
msgWarning.setWindowIcon(QIcon(":/leaper/Resource/app.png"));
msgWarning.setButtonText(QMessageBox::Yes, QObject::tr("确认"));
msgWarning.exec();
return;
}
QModModeUI moddlg(this);
moddlg.setWindowIcon(QIcon(":/leaper/Resource/app.png"));
moddlg.setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
QStringList names = m_pCtrl->IGetModelNames(nStaionID);
moddlg.setModelName(strModel, names);
if (moddlg.exec() == QDialog::Accepted)
{
QString strName = moddlg.getInputName();
QString nStaionID = currentTab();
bool bFlag = m_pCtrl->IModifyModel(nStaionID, strModel,strName);
if (bFlag) {
ui.mLblModelState->setText(tr("add %1 successful!").arg(strName));
if (m_pCtrl)
m_pCtrl->ISaveModel(nStaionID, strName);
}
QTimer::singleShot(1000, [&]() {
ui.mLblModelState->setText("");
});
}
}
}
}
else if ("wf_model_delete_button" == strObj) {
QString nStaionID = currentTab();

@ -162,6 +162,7 @@
<ClCompile Include="QCamSettingDlg.cpp" />
<ClCompile Include="QDeviceMgrUI.cpp" />
<ClCompile Include="QModelMangerUI.cpp" />
<ClCompile Include="QModModeUI.cpp" />
<ClCompile Include="QPLCIndexUI.cpp" />
<ClCompile Include="QTestModeWid.cpp" />
</ItemGroup>
@ -183,10 +184,15 @@
<QtUic Include="QCamSettingDlg.ui" />
<QtUic Include="QDeviceMgrUI.ui" />
<QtUic Include="QModelMangerUI.ui" />
<QtUic Include="QModModeUI.ui" />
<QtUic Include="QPLCIndexUI.ui" />
<QtUic Include="QTestModeWid.ui" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="QModModeUI.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtSql;.\GeneratedFiles\$(ConfigurationName);.\..\..\3part\SerialPortTool\include;.\..\..\src\lpMain;.\..\..\src\lpMain\algela;.\..\..\src\lpMain\QDiskCleanThread;.\..\..\src\lpMain\sqliteDB;.\..\..\src\lpMain\UI;.\..\..\3part\opencv3.4.1\include;.\..\..\3part\opencv3.4.1\include\opencv;.\..\..\3part\opencv3.4.1\include\opencv2;.\..\..\3part\libzkq\include;.\..\..\3part\lpSyslog\inc;.\..\..\src\userCtrl;.\..\..\src\lpMain\CoreCtrl;.\..\..\3part\tadpole\include\tpBase;.\..\..\src\lpMain\view;.\..\..\src\lpMain\cryptokey;.\..\..\3part\RsaCrypto\include;F:\ValueProject\newValve\3part\openssl-1.0.2n\vs13\include</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtSql;.\GeneratedFiles\$(ConfigurationName);.\..\..\3part\SerialPortTool\include;.\..\..\src\lpMain;.\..\..\src\lpMain\algela;.\..\..\src\lpMain\QDiskCleanThread;.\..\..\src\lpMain\sqliteDB;.\..\..\src\lpMain\UI;.\..\..\3part\opencv3.4.1\include;.\..\..\3part\opencv3.4.1\include\opencv;.\..\..\3part\opencv3.4.1\include\opencv2;.\..\..\3part\libzkq\include;.\..\..\3part\lpSyslog\inc;.\..\..\src\userCtrl;.\..\..\src\lpMain\CoreCtrl;.\..\..\3part\tadpole\include\tpBase;.\..\..\src\lpMain\view;.\..\..\src\lpMain\cryptokey;.\..\..\3part\RsaCrypto\include;F:\ValueProject\newValve\3part\openssl-1.0.2n\vs13\include</IncludePath>
</QtMoc>
<QtMoc Include="lpImageCaliUI4P.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtSql;.\GeneratedFiles\$(ConfigurationName);.\..\..\3part\SerialPortTool\include;.\..\..\src\lpMain;.\..\..\src\lpMain\algela;.\..\..\src\lpMain\QDiskCleanThread;.\..\..\src\lpMain\sqliteDB;.\..\..\src\lpMain\UI;.\..\..\3part\opencv3.4.1\include;.\..\..\3part\opencv3.4.1\include\opencv;.\..\..\3part\opencv3.4.1\include\opencv2;.\..\..\3part\libzkq\include;.\..\..\3part\lpSyslog\inc;.\..\..\src\userCtrl;.\..\..\src\lpMain\CoreCtrl;.\..\..\3part\tadpole\include\tpBase;.\..\..\src\lpMain\view;.\..\..\src\lpMain\cryptokey;.\..\..\3part\RsaCrypto\include;F:\ValueProject\newValve\3part\openssl-1.0.2n\vs13\include</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles;.;$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtSql;.\GeneratedFiles\$(ConfigurationName);.\..\..\3part\SerialPortTool\include;.\..\..\src\lpMain;.\..\..\src\lpMain\algela;.\..\..\src\lpMain\QDiskCleanThread;.\..\..\src\lpMain\sqliteDB;.\..\..\src\lpMain\UI;.\..\..\3part\opencv3.4.1\include;.\..\..\3part\opencv3.4.1\include\opencv;.\..\..\3part\opencv3.4.1\include\opencv2;.\..\..\3part\libzkq\include;.\..\..\3part\lpSyslog\inc;.\..\..\src\userCtrl;.\..\..\src\lpMain\CoreCtrl;.\..\..\3part\tadpole\include\tpBase;.\..\..\src\lpMain\view;.\..\..\src\lpMain\cryptokey;.\..\..\3part\RsaCrypto\include;F:\ValueProject\newValve\3part\openssl-1.0.2n\vs13\include</IncludePath>

@ -202,6 +202,9 @@
<ClCompile Include="lpImageCaliUI4P.cpp">
<Filter>ImageStandardUI</Filter>
</ClCompile>
<ClCompile Include="QModModeUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtMoc Include="IMainWidget.h">
@ -330,6 +333,9 @@
<QtMoc Include="lpImageCaliUI4P.h">
<Filter>ImageStandardUI</Filter>
</QtMoc>
<QtMoc Include="QModModeUI.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<QtUic Include="CMainWin.ui">
@ -377,6 +383,9 @@
<QtUic Include="lpImageCaliUI4P.ui">
<Filter>ImageStandardUI</Filter>
</QtUic>
<QtUic Include="QModModeUI.ui">
<Filter>Form Files</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\lpMain\CoreCtrl\CDllCoreCtrl.h">

@ -93,7 +93,18 @@
<ClInclude Include="..\..\src\lpbdesigner\GeneratedFiles\ui_AlgorithmParamMgrDlg.h" />
<ClInclude Include="..\..\src\lpbdesigner\GeneratedFiles\ui_MainFrame.h" />
<ClInclude Include="..\..\src\lpbdesigner\GeneratedFiles\ui_ParamDlg.h" />
<ClInclude Include="..\..\src\lpbdesigner\GeneratedFiles\ui_QSetCenterDlg.h" />
<ClInclude Include="..\..\src\lpbdesigner\GeneratedFiles\ui_RoiDlg.h" />
<CustomBuild Include="..\..\src\lpbdesigner\QSetCenterDlg.h">
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing %(Identity)...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DLPDESIGNER_LIB -D%(PreprocessorDefinitions) "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWebKit" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtWebkitWidgets" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\..\..\include\lpdesigner\algela" "-I.\..\..\include\lpdesigner" "-I.\..\..\src\lpbdesigner\GeneratedFiles" "-I.\..\..\src\ColossusBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\src\lpbdesigner" "-I.\..\..\3part\tadpole\include\tpBase"</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing %(Identity)...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DLPDESIGNER_LIB -D%(PreprocessorDefinitions) "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWebKit" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtWebkitWidgets" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\..\..\include\lpdesigner\algela" "-I.\..\..\include\lpdesigner" "-I.\..\..\src\lpbdesigner\GeneratedFiles" "-I.\..\..\src\ColossusBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\src\lpbdesigner" "-I.\..\..\3part\tadpole\include\tpBase"</Command>
</CustomBuild>
<ClInclude Include="resource1.h" />
<CustomBuild Include="..\..\src\lpbdesigner\algela\lpImgViewer.h" />
<ClInclude Include="..\..\src\lpbdesigner\DrawTool.h" />
@ -187,6 +198,9 @@
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Debug\moc_MainFrame.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Debug\moc_QSetCenterDlg.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Debug\moc_RoiScene.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
@ -214,12 +228,16 @@
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Release\moc_MainFrame.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Release\moc_QSetCenterDlg.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Release\moc_RoiScene.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\lpdesigner.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\CDetectorUI.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\MainFrame.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\QSetCenterDlg.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\RoiItem.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\RoiScene.cpp" />
<ClCompile Include="..\..\src\lpbdesigner\SizeHandle.cpp" />
@ -295,6 +313,16 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\..\..\src\lpbdesigner\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
</CustomBuild>
<CustomBuild Include="..\..\src\lpbdesigner\QSetCenterDlg.ui">
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\..\..\src\lpbdesigner\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\src\lpbdesigner\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\..\..\src\lpbdesigner\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
</CustomBuild>
<None Include="lpdesigner_en.ts" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

@ -76,6 +76,9 @@
<ClInclude Include="..\..\src\lpbdesigner\CDetectorUI.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\lpbdesigner\GeneratedFiles\ui_QSetCenterDlg.h">
<Filter>Generated Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\src\lpbdesigner\MainFrame.h">
@ -120,6 +123,12 @@
<CustomBuild Include="..\..\src\lpbdesigner\MainFrame.ui">
<Filter>Form Files</Filter>
</CustomBuild>
<CustomBuild Include="..\..\src\lpbdesigner\QSetCenterDlg.h">
<Filter>Header Files</Filter>
</CustomBuild>
<CustomBuild Include="..\..\src\lpbdesigner\QSetCenterDlg.ui">
<Filter>Form Files</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\lpbdesigner\DrawTool.cpp">
@ -212,6 +221,15 @@
<ClCompile Include="..\..\src\lpbdesigner\CDetectorUI.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\QSetCenterDlg.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Debug\moc_QSetCenterDlg.cpp">
<Filter>Generated Files\Debug</Filter>
</ClCompile>
<ClCompile Include="..\..\src\lpbdesigner\GeneratedFiles\Release\moc_QSetCenterDlg.cpp">
<Filter>Generated Files\Release</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Image Include="..\..\src\lpbdesigner\resource\app.png">

@ -91,6 +91,7 @@ bool algEg::Exec(IDetectorTask *lpTask, IDetectorAlgorithm* lpAlgorithm)
// add original center
paramInput.originalPoint = Point2f(pt.x(), pt.y());
paramInput.nCenterAlg = lpAlgorithm->GetParamValue("centerAlg", LP_INT).toInt();
double centeroffset = lpAlgorithm->GetParamValue("centerOffset", LP_INT).toInt();
// add background
paramInput.backGround = lpAlgorithm->GetParamValue("background", LP_MAT).value<cv::Mat>();
luffy_imageProc::createImage(paramInput.backGround, paramInput.backGround, luffy_imageProc::emCreateGray);
@ -109,7 +110,7 @@ bool algEg::Exec(IDetectorTask *lpTask, IDetectorAlgorithm* lpAlgorithm)
else
{
float dis = luffy_math::disofPoints(paramInput.originalPoint, paramInput.ptCenter);
if (dis > 25)
if (dis > centeroffset)
{
bExist = false;
paramOutput.nErrorType += 8;
@ -219,7 +220,8 @@ bool algEg::Exec(IDetectorTask *lpTask, IDetectorAlgorithm* lpAlgorithm)
bool algEg::Init(IDetectorTask *lpTask, IDetectorAlgorithm* lpAlgorithm)
{
LP_ALGORITHM_PARAM param1_centeroffset("centerOffset", LP_INT, 25, QObject::tr("圆心偏差距离,单位像素"));
lpAlgorithm->AddParam(&param1_centeroffset, 1);
LP_ALGORITHM_PARAM param1_1("backgroundThresh", LP_INT, 15, QObject::tr("背景差异性阈值"));
lpAlgorithm->AddParam(&param1_1, 1);

Loading…
Cancel
Save