energy changed
This commit is contained in:
@@ -17,7 +17,8 @@ using std::vector;
|
|||||||
void Energy::FanStruct(cv::Mat &src) {
|
void Energy::FanStruct(cv::Mat &src) {
|
||||||
Mat element_dilate_1 = getStructuringElement(MORPH_RECT, Size(5, 5));
|
Mat element_dilate_1 = getStructuringElement(MORPH_RECT, Size(5, 5));
|
||||||
Mat element_erode_1 = getStructuringElement(MORPH_RECT, Size(2, 2));
|
Mat element_erode_1 = getStructuringElement(MORPH_RECT, Size(2, 2));
|
||||||
Mat element_dilate_2 = getStructuringElement(MORPH_RECT, Size(3, 3));
|
Mat element_dilate_2 = getStructuringElement(MORPH_RECT,
|
||||||
|
Size(3, 3));
|
||||||
Mat element_erode_2 = getStructuringElement(MORPH_RECT, Size(2 , 2));
|
Mat element_erode_2 = getStructuringElement(MORPH_RECT, Size(2 , 2));
|
||||||
Mat element_dilate_3 = getStructuringElement(MORPH_RECT, Size(3, 3));
|
Mat element_dilate_3 = getStructuringElement(MORPH_RECT, Size(3, 3));
|
||||||
Mat element_erode_3 = getStructuringElement(MORPH_RECT, Size(1 , 1));
|
Mat element_erode_3 = getStructuringElement(MORPH_RECT, Size(1 , 1));
|
||||||
|
|||||||
@@ -39,6 +39,5 @@ void Energy::judgeShootInGimbal() {
|
|||||||
// LOGM(STR_CTR(WORD_LIGHT_RED, "Start Guessing!"));
|
// LOGM(STR_CTR(WORD_LIGHT_RED, "Start Guessing!"));
|
||||||
} else
|
} else
|
||||||
shoot = 2;
|
shoot = 2;
|
||||||
|
|
||||||
// cout << "yaw: " << yaw_rotation << '\t' << "pitch: " << pitch_rotation << endl;
|
// cout << "yaw: " << yaw_rotation << '\t' << "pitch: " << pitch_rotation << endl;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ void Energy::writeDownSlightChange(cv::Mat &src) {
|
|||||||
}
|
}
|
||||||
fprintf(fp_data, "fps: %d\t", curr_fps);
|
fprintf(fp_data, "fps: %d\t", curr_fps);
|
||||||
fprintf(fp_data, "fans_cnt: %d\t", fans_cnt);
|
fprintf(fp_data, "fans_cnt: %d\t", fans_cnt);
|
||||||
|
fprintf(fp_data, "shoot: %d\t", int(shoot));
|
||||||
fprintf(fp_data, "yaw: %lf , pitch: %lf\t", yaw_rotation, pitch_rotation);
|
fprintf(fp_data, "yaw: %lf , pitch: %lf\t", yaw_rotation, pitch_rotation);
|
||||||
fprintf(fp_data, "delta_x: %d, delta_y: %d\n", mcu_data.delta_x + manual_delta_x,
|
fprintf(fp_data, "delta_x: %d, delta_y: %d\n", mcu_data.delta_x + manual_delta_x,
|
||||||
mcu_data.delta_y + manual_delta_y);
|
mcu_data.delta_y + manual_delta_y);
|
||||||
|
|||||||
@@ -107,13 +107,13 @@ void Energy::runBig(cv::Mat &gimbal_src) {
|
|||||||
initRotation();
|
initRotation();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (save_mark)writeDownSlightChange(gimbal_src);
|
|
||||||
getPredictPoint(target_point);
|
getPredictPoint(target_point);
|
||||||
getAimPoint(predict_point);
|
getAimPoint(predict_point);
|
||||||
// cout << "yaw: " << yaw_rotation << '\t' << "pitch: " << pitch_rotation << '\t' << "shoot: " << shoot << endl;
|
// cout << "yaw: " << yaw_rotation << '\t' << "pitch: " << pitch_rotation << '\t' << "shoot: " << shoot << endl;
|
||||||
// waitKey(0);
|
// waitKey(0);
|
||||||
judgeShootInGimbal();
|
judgeShootInGimbal();
|
||||||
sendEnergy();
|
sendEnergy();
|
||||||
|
if (save_mark)writeDownSlightChange(gimbal_src);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -133,7 +133,11 @@ void Energy::runSmall(cv::Mat &gimbal_src) {
|
|||||||
} else {
|
} else {
|
||||||
if (show_energy)showFlowStripFan("strip fan", gimbal_src);
|
if (show_energy)showFlowStripFan("strip fan", gimbal_src);
|
||||||
if (!findTargetInFlowStripFan()) return;
|
if (!findTargetInFlowStripFan()) return;
|
||||||
if (!findFlowStrip(gimbal_src)) return;
|
if (!findFlowStrip(gimbal_src)) {
|
||||||
|
if(!findFlowStripSub(gimbal_src)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (show_energy)showTarget("target", gimbal_src);
|
if (show_energy)showTarget("target", gimbal_src);
|
||||||
fans_cnt = findFans(gimbal_src);
|
fans_cnt = findFans(gimbal_src);
|
||||||
@@ -144,11 +148,11 @@ void Energy::runSmall(cv::Mat &gimbal_src) {
|
|||||||
// return;
|
// return;
|
||||||
|
|
||||||
changeTarget();
|
changeTarget();
|
||||||
if (save_mark)writeDownSlightChange(gimbal_src);
|
|
||||||
getPredictPoint(target_point);
|
getPredictPoint(target_point);
|
||||||
getAimPoint(predict_point);
|
getAimPoint(predict_point);
|
||||||
judgeShootInGimbal();
|
judgeShootInGimbal();
|
||||||
sendEnergy();
|
sendEnergy();
|
||||||
|
if (save_mark)writeDownSlightChange(gimbal_src);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
6
main.cpp
6
main.cpp
@@ -30,7 +30,7 @@ using namespace std;
|
|||||||
McuData mcu_data = { // 单片机端回传结构体
|
McuData mcu_data = { // 单片机端回传结构体
|
||||||
0, // 当前云台yaw角
|
0, // 当前云台yaw角
|
||||||
0, // 当前云台pitch角
|
0, // 当前云台pitch角
|
||||||
ARMOR_STATE, // 当前状态,自瞄-大符-小符
|
SMALL_ENERGY_STATE, // 当前状态,自瞄-大符-小符
|
||||||
0, // 云台角度标记位
|
0, // 云台角度标记位
|
||||||
0, // 是否为反陀螺模式
|
0, // 是否为反陀螺模式
|
||||||
ENEMY_RED, // 敌方颜色
|
ENEMY_RED, // 敌方颜色
|
||||||
@@ -66,8 +66,8 @@ int main(int argc, char *argv[]) {
|
|||||||
video_gimbal = new CameraWrapper(ARMOR_CAMERA_EXPOSURE, ARMOR_CAMERA_GAIN, 2/*, "armor"*/);
|
video_gimbal = new CameraWrapper(ARMOR_CAMERA_EXPOSURE, ARMOR_CAMERA_GAIN, 2/*, "armor"*/);
|
||||||
video_chassis = new CameraWrapper(ENERGY_CAMERA_EXPOSURE, ENERGY_CAMERA_GAIN, 2/*, "energy"*/);
|
video_chassis = new CameraWrapper(ENERGY_CAMERA_EXPOSURE, ENERGY_CAMERA_GAIN, 2/*, "energy"*/);
|
||||||
} else {
|
} else {
|
||||||
video_gimbal = new VideoWrapper(PROJECT_DIR"/8-7-NO7.avi");
|
video_gimbal = new VideoWrapper(PROJECT_DIR"/test_video/red_big.avi");
|
||||||
video_chassis = new VideoWrapper(PROJECT_DIR"/8-7-NO7.avi");
|
video_chassis = new VideoWrapper(PROJECT_DIR"/test_video/red_small.avi");
|
||||||
}
|
}
|
||||||
if (video_gimbal->init()) {
|
if (video_gimbal->init()) {
|
||||||
LOGM("video_gimbal source initialization successfully.");
|
LOGM("video_gimbal source initialization successfully.");
|
||||||
|
|||||||
Reference in New Issue
Block a user