energy changed

This commit is contained in:
sun
2019-07-10 18:40:47 +08:00
parent 403d267ff3
commit 92295793d5
3 changed files with 125 additions and 74 deletions

View File

@@ -37,7 +37,8 @@ public:
private:
EnergyPartParam energy_part_param_;//能量机关的参数设置
EnergyPartParam gimble_energy_part_param_;//云台摄像头能量机关的参数设置
EnergyPartParam chassis_energy_part_param_;//底盘摄像头能量机关的参数设置
bool isMark;//若操作手正在手动标定则为true
bool isGimble;//同时具有底盘和云台摄像头时,处于云台摄像头对心过程
bool isChassis;//同时具有底盘和云台摄像头时,处于底盘摄像头击打过程

View File

@@ -66,87 +66,130 @@ void Energy::initEnergy() {
// 此函数对能量机关参数进行初始化
// ---------------------------------------------------------------------------------------------------------------------
void Energy::initEnergyPartParam() {
energy_part_param_.GRAY_THRESH = 225;
energy_part_param_.SPLIT_GRAY_THRESH = 60;
energy_part_param_.FAN_GRAY_THRESH = 75;
energy_part_param_.ARMOR_GRAY_THRESH = 80;
gimble_energy_part_param_.GRAY_THRESH = 225;
gimble_energy_part_param_.SPLIT_GRAY_THRESH = 60;
gimble_energy_part_param_.FAN_GRAY_THRESH = 75;
gimble_energy_part_param_.ARMOR_GRAY_THRESH = 80;
/*energy_part_param_.FAN_CONTOUR_AREA_MAX = 17000;
energy_part_param_.FAN_CONTOUR_AREA_MIN = 0;
energy_part_param_.FAN_CONTOUR_LENGTH_MIN = 70;
energy_part_param_.FAN_CONTOUR_LENGTH_MAX = 100;
energy_part_param_.FAN_CONTOUR_WIDTH_MIN = 30;
energy_part_param_.FAN_CONTOUR_WIDTH_MAX = 60;
energy_part_param_.FAN_CONTOUR_HW_RATIO_MAX = 4;
energy_part_param_.FAN_CONTOUR_HW_RATIO_MIN = 1;
gimble_energy_part_param_.FAN_CONTOUR_AREA_MAX = 17000;
gimble_energy_part_param_.FAN_CONTOUR_AREA_MIN = 0;
gimble_energy_part_param_.FAN_CONTOUR_LENGTH_MIN = 70;
gimble_energy_part_param_.FAN_CONTOUR_LENGTH_MAX = 100;
gimble_energy_part_param_.FAN_CONTOUR_WIDTH_MIN = 30;
gimble_energy_part_param_.FAN_CONTOUR_WIDTH_MAX = 60;
gimble_energy_part_param_.FAN_CONTOUR_HW_RATIO_MAX = 4;
gimble_energy_part_param_.FAN_CONTOUR_HW_RATIO_MIN = 1;
energy_part_param_.ARMOR_CONTOUR_AREA_MAX = 100000;
energy_part_param_.ARMOR_CONTOUR_AREA_MIN = 0;
energy_part_param_.ARMOR_CONTOUR_LENGTH_MIN = 13;
energy_part_param_.ARMOR_CONTOUR_WIDTH_MIN = 5;
energy_part_param_.ARMOR_CONTOUR_LENGTH_MAX = 30;
energy_part_param_.ARMOR_CONTOUR_WIDTH_MAX = 20;
energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MAX = 3;
energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MIN = 1;*/
gimble_energy_part_param_.ARMOR_CONTOUR_AREA_MAX = 100000;
gimble_energy_part_param_.ARMOR_CONTOUR_AREA_MIN = 0;
gimble_energy_part_param_.ARMOR_CONTOUR_LENGTH_MIN = 13;
gimble_energy_part_param_.ARMOR_CONTOUR_WIDTH_MIN = 5;
gimble_energy_part_param_.ARMOR_CONTOUR_LENGTH_MAX = 30;
gimble_energy_part_param_.ARMOR_CONTOUR_WIDTH_MAX = 20;
gimble_energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MAX = 3;
gimble_energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MIN = 1;
energy_part_param_.FAN_CONTOUR_AREA_MAX = 17000;
energy_part_param_.FAN_CONTOUR_AREA_MIN = 0;
energy_part_param_.FAN_CONTOUR_LENGTH_MIN = 90;
energy_part_param_.FAN_CONTOUR_WIDTH_MIN = 35;
energy_part_param_.FAN_CONTOUR_LENGTH_MAX = 140;
energy_part_param_.FAN_CONTOUR_WIDTH_MAX = 60;
energy_part_param_.FAN_CONTOUR_HW_RATIO_MAX = 4;
energy_part_param_.FAN_CONTOUR_HW_RATIO_MIN = 1;
energy_part_param_.FAN_CONTOUR_AREA_RATIO_MIN = 0.6;
gimble_energy_part_param_.CENTER_R_CONTOUR_AREA_MAX = 100000;
gimble_energy_part_param_.CENTER_R_CONTOUR_AREA_MIN = 0;
gimble_energy_part_param_.CENTER_R_CONTOUR_LENGTH_MIN = 10;
gimble_energy_part_param_.CENTER_R_CONTOUR_WIDTH_MIN = 10;
gimble_energy_part_param_.CENTER_R_CONTOUR_LENGTH_MAX = 30;
gimble_energy_part_param_.CENTER_R_CONTOUR_WIDTH_MAX = 30;
gimble_energy_part_param_.CENTER_R_CONTOUR_HW_RATIO_MAX = 3;
gimble_energy_part_param_.CENTER_R_CONTOUR_HW_RATIO_MIN = 1;
gimble_energy_part_param_.CENTER_R_CONTOUR_AREA_RATIO_MIN = 0.7;
gimble_energy_part_param_.CENTER_R_CONTOUR_INTERSETION_AREA_MIN = 10;
energy_part_param_.ARMOR_CONTOUR_AREA_MAX = 100000;
energy_part_param_.ARMOR_CONTOUR_AREA_MIN = 0;
energy_part_param_.ARMOR_CONTOUR_LENGTH_MIN = 30;
energy_part_param_.ARMOR_CONTOUR_WIDTH_MIN = 15;
energy_part_param_.ARMOR_CONTOUR_LENGTH_MAX = 50;
energy_part_param_.ARMOR_CONTOUR_WIDTH_MAX = 45;
energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MAX = 3;
energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MIN = 1;
energy_part_param_.ARMOR_CONTOUR_AREA_RATIO_MIN = 0.7;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_MAX = 17000;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_MIN = 0;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_LENGTH_MIN = 90;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_WIDTH_MIN = 35;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_LENGTH_MAX = 140;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_WIDTH_MAX = 60;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_HW_RATIO_MAX = 3;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_HW_RATIO_MIN = 1;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_RATIO_MAX = 0.55;
gimble_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_RATIO_MIN = 0.25;
energy_part_param_.CENTER_R_CONTOUR_AREA_MAX = 100000;
energy_part_param_.CENTER_R_CONTOUR_AREA_MIN = 0;
energy_part_param_.CENTER_R_CONTOUR_LENGTH_MIN = 10;
energy_part_param_.CENTER_R_CONTOUR_WIDTH_MIN = 10;
energy_part_param_.CENTER_R_CONTOUR_LENGTH_MAX = 30;
energy_part_param_.CENTER_R_CONTOUR_WIDTH_MAX = 30;
energy_part_param_.CENTER_R_CONTOUR_HW_RATIO_MAX = 3;
energy_part_param_.CENTER_R_CONTOUR_HW_RATIO_MIN = 1;
energy_part_param_.CENTER_R_CONTOUR_AREA_RATIO_MIN = 0.7;
energy_part_param_.CENTER_R_CONTOUR_INTERSETION_AREA_MIN = 10;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_MAX = 100000;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_MIN = 0;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MIN = 50;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MIN = 3;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MAX = 90;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MAX = 20;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MAX = 12;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MIN = 4;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_RATIO_MIN = 0.5;
gimble_energy_part_param_.FLOW_STRIP_CONTOUR_INTERSETION_AREA_MIN = 300;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_MAX = 17000;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_MIN = 0;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_LENGTH_MIN = 90;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_WIDTH_MIN = 35;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_LENGTH_MAX = 140;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_WIDTH_MAX = 60;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_HW_RATIO_MAX = 3;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_HW_RATIO_MIN = 1;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_RATIO_MAX = 0.55;
energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_RATIO_MIN = 0.25;
energy_part_param_.FLOW_STRIP_CONTOUR_AREA_MAX = 100000;
energy_part_param_.FLOW_STRIP_CONTOUR_AREA_MIN = 0;
energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MIN = 50;
energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MIN = 3;
energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MAX = 90;
energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MAX = 20;
energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MAX = 12;
energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MIN = 4;
energy_part_param_.FLOW_STRIP_CONTOUR_AREA_RATIO_MIN = 0.5;
energy_part_param_.FLOW_STRIP_CONTOUR_INTERSETION_AREA_MIN = 300;
energy_part_param_.TWIN_ANGEL_MAX = 10;
energy_part_param_.INTERSETION_CONTOUR_AREA_MIN = 60;
gimble_energy_part_param_.TWIN_ANGEL_MAX = 10;
gimble_energy_part_param_.INTERSETION_CONTOUR_AREA_MIN = 60;
energy_part_param_.TARGET_CHANGE_DISTANCE_MAX = 20;
energy_part_param_.TWIN_POINT_MAX = 20;
chassis_energy_part_param_.GRAY_THRESH = 225;
chassis_energy_part_param_.SPLIT_GRAY_THRESH = 60;
chassis_energy_part_param_.FAN_GRAY_THRESH = 75;
chassis_energy_part_param_.ARMOR_GRAY_THRESH = 80;
chassis_energy_part_param_.FAN_CONTOUR_AREA_MAX = 17000;
chassis_energy_part_param_.FAN_CONTOUR_AREA_MIN = 0;
chassis_energy_part_param_.FAN_CONTOUR_LENGTH_MIN = 90;
chassis_energy_part_param_.FAN_CONTOUR_WIDTH_MIN = 35;
chassis_energy_part_param_.FAN_CONTOUR_LENGTH_MAX = 140;
chassis_energy_part_param_.FAN_CONTOUR_WIDTH_MAX = 60;
chassis_energy_part_param_.FAN_CONTOUR_HW_RATIO_MAX = 4;
chassis_energy_part_param_.FAN_CONTOUR_HW_RATIO_MIN = 1;
chassis_energy_part_param_.FAN_CONTOUR_AREA_RATIO_MIN = 0.6;
chassis_energy_part_param_.ARMOR_CONTOUR_AREA_MAX = 100000;
chassis_energy_part_param_.ARMOR_CONTOUR_AREA_MIN = 0;
chassis_energy_part_param_.ARMOR_CONTOUR_LENGTH_MIN = 30;
chassis_energy_part_param_.ARMOR_CONTOUR_WIDTH_MIN = 15;
chassis_energy_part_param_.ARMOR_CONTOUR_LENGTH_MAX = 50;
chassis_energy_part_param_.ARMOR_CONTOUR_WIDTH_MAX = 45;
chassis_energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MAX = 3;
chassis_energy_part_param_.ARMOR_CONTOUR_HW_RATIO_MIN = 1;
chassis_energy_part_param_.ARMOR_CONTOUR_AREA_RATIO_MIN = 0.7;
chassis_energy_part_param_.CENTER_R_CONTOUR_AREA_MAX = 100000;
chassis_energy_part_param_.CENTER_R_CONTOUR_AREA_MIN = 0;
chassis_energy_part_param_.CENTER_R_CONTOUR_LENGTH_MIN = 10;
chassis_energy_part_param_.CENTER_R_CONTOUR_WIDTH_MIN = 10;
chassis_energy_part_param_.CENTER_R_CONTOUR_LENGTH_MAX = 30;
chassis_energy_part_param_.CENTER_R_CONTOUR_WIDTH_MAX = 30;
chassis_energy_part_param_.CENTER_R_CONTOUR_HW_RATIO_MAX = 3;
chassis_energy_part_param_.CENTER_R_CONTOUR_HW_RATIO_MIN = 1;
chassis_energy_part_param_.CENTER_R_CONTOUR_AREA_RATIO_MIN = 0.7;
chassis_energy_part_param_.CENTER_R_CONTOUR_INTERSETION_AREA_MIN = 10;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_MAX = 17000;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_MIN = 0;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_LENGTH_MIN = 90;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_WIDTH_MIN = 35;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_LENGTH_MAX = 140;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_WIDTH_MAX = 60;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_HW_RATIO_MAX = 3;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_HW_RATIO_MIN = 1;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_RATIO_MAX = 0.55;
chassis_energy_part_param_.FLOW_STRIP_FAN_CONTOUR_AREA_RATIO_MIN = 0.25;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_MAX = 100000;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_MIN = 0;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MIN = 50;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MIN = 3;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_LENGTH_MAX = 90;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_WIDTH_MAX = 20;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MAX = 12;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_HW_RATIO_MIN = 4;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_AREA_RATIO_MIN = 0.5;
chassis_energy_part_param_.FLOW_STRIP_CONTOUR_INTERSETION_AREA_MIN = 300;
chassis_energy_part_param_.TWIN_ANGEL_MAX = 10;
chassis_energy_part_param_.INTERSETION_CONTOUR_AREA_MIN = 60;
chassis_energy_part_param_.TARGET_CHANGE_DISTANCE_MAX = 20;
chassis_energy_part_param_.TWIN_POINT_MAX = 20;
}

View File

@@ -18,6 +18,8 @@ int Energy::runBig(cv::Mat &gimble_src, cv::Mat &chassis_src) {
runBig(gimble_src);//仅拥有云台摄像头则调用单摄像头的run函数
else if (isGimble) {
imshow("src", gimble_src);
if (gimble_src.type() == CV_8UC3)cvtColor(gimble_src, gimble_src, COLOR_BGR2GRAY);
energy_part_param_ = gimble_energy_part_param_;
fans.clear();
armors.clear();
centerRs.clear();
@@ -47,6 +49,8 @@ int Energy::runBig(cv::Mat &gimble_src, cv::Mat &chassis_src) {
}
} else if (isChassis) {
imshow("src", chassis_src);
if (chassis_src.type() == CV_8UC3)cvtColor(chassis_src, chassis_src, COLOR_BGR2GRAY);
energy_part_param_ = chassis_energy_part_param_;
fans.clear();
armors.clear();
centerRs.clear();
@@ -102,6 +106,8 @@ int Energy::runBig(cv::Mat &gimble_src, cv::Mat &chassis_src) {
// ---------------------------------------------------------------------------------------------------------------------
int Energy::runBig(cv::Mat &gimble_src) {
imshow("src", gimble_src);
if (gimble_src.type() == CV_8UC3)cvtColor(gimble_src, gimble_src, COLOR_BGR2GRAY);
energy_part_param_ = gimble_energy_part_param_;
fans.clear();
armors.clear();
centerRs.clear();
@@ -150,6 +156,7 @@ int Energy::runBig(cv::Mat &gimble_src) {
int Energy::runSmall(cv::Mat &gimble_src) {
imshow("gimble src", gimble_src);
if (gimble_src.type() == CV_8UC3)cvtColor(gimble_src, gimble_src, COLOR_BGR2GRAY);
energy_part_param_ = gimble_energy_part_param_;
fans.clear();
armors.clear();
centerRs.clear();