From 89e07615aa9bcc10bbfc980d8b8ff023fc8764aa Mon Sep 17 00:00:00 2001 From: sun Date: Fri, 12 Jul 2019 22:12:58 +0800 Subject: [PATCH] energy changed --- energy/src/energy/find/energy_finder.cpp | 1 - main.cpp | 21 ++-------------- others/include/additions/additions.h | 4 +-- others/src/additions/additions.cpp | 32 ++++++++++-------------- 4 files changed, 17 insertions(+), 41 deletions(-) diff --git a/energy/src/energy/find/energy_finder.cpp b/energy/src/energy/find/energy_finder.cpp index bf23068..d96039c 100644 --- a/energy/src/energy/find/energy_finder.cpp +++ b/energy/src/energy/find/energy_finder.cpp @@ -181,7 +181,6 @@ bool Energy::findFlowStripFan(const cv::Mat src) { // 此函数用于寻找流动条 // --------------------------------------------------------------------------------------------------------------------- bool Energy::findFlowStrip(const cv::Mat src) { - imshow("1", src); if (src.empty())return false; cv::Mat src_bin; src_bin = src.clone(); diff --git a/main.cpp b/main.cpp index 0716e88..a85fde3 100644 --- a/main.cpp +++ b/main.cpp @@ -70,15 +70,11 @@ int main(int argc, char *argv[]) { LOGM("video_gimble source initialization successfully."); } else { LOGW("video_gimble source unavailable!"); - delete video_gimble; - video_gimble = nullptr; } if (video_chassis->init()) { LOGM("video_chassis source initialization successfully."); } else { LOGW("video_chassis source unavailable!"); - delete video_chassis; - video_chassis = nullptr; } // 跳过前10帧噪声图像。 @@ -99,26 +95,13 @@ int main(int argc, char *argv[]) { if (last_state == ARMOR_STATE) {//若上一帧是自瞄模式,即刚往完成切换,则需要初始化 ((CameraWrapper *) video_gimble)->changeBrightness(20); energy.setEnergyInit(); + checkReconnect(video_chassis->read(chassis_src)); } - ok = checkReconnect(video_gimble->read(gimble_src), video_chassis->read(chassis_src));//检查有几个摄像头 + ok = checkReconnect(video_gimble->read(gimble_src)); if (!from_camera) extract(gimble_src, chassis_src); if (save_video) saveVideos(gimble_src, chassis_src);//保存视频 if (show_origin) showOrigin(gimble_src, chassis_src);//显示原始图像 energy.run(gimble_src, chassis_src); -// if (mcuData.state == BIG_ENERGY_STATE) { -// if (last_state != BIG_ENERGY_STATE) { -// energy.setBigEnergyInit(); -// cout << "start big" << endl; -// } -// energy.run(gimble_src, chassis_src); -// } else if (mcuData.state == SMALL_ENERGY_STATE) { -// if (last_state != SMALL_ENERGY_STATE) { -// energy.setSmallEnergyInit(); -// cout << "start small" << endl; -// } -// energy.run(gimble_src, chassis_src); -// } - last_state = mcuData.state;//更新上一帧状态 } else { // 自瞄模式 if (last_state != ARMOR_STATE) { diff --git a/others/include/additions/additions.h b/others/include/additions/additions.h index ba3859e..7caddae 100644 --- a/others/include/additions/additions.h +++ b/others/include/additions/additions.h @@ -20,8 +20,8 @@ struct mcu_data{ extern mcu_data mcuData; void uartReceive(Serial *pSerial); -bool checkReconnect(bool is_gimble_connect, bool is_chassis_connect); -bool checkReconnect(bool is_gimble_connect); +bool checkReconnect(bool is_camera_0_connect, bool is_camera_1_connect); +bool checkReconnect(bool is_camera_connect); void saveVideos(const cv::Mat &gimble_src, const cv::Mat &chassis_src); void saveVideos(const cv::Mat &gimble_src); void showOrigin(const cv::Mat &gimble_src, const cv::Mat &chassis_src); diff --git a/others/src/additions/additions.cpp b/others/src/additions/additions.cpp index bc7ef19..937e25c 100644 --- a/others/src/additions/additions.cpp +++ b/others/src/additions/additions.cpp @@ -73,33 +73,27 @@ cv::VideoWriter initVideoWriter(const std::string &filename_prefix) { return video; } -bool checkReconnect(bool is_gimble_connect, bool is_chassis_connect) { - if (!is_gimble_connect) { +bool checkReconnect(bool is_camera_0_connect, bool is_camera_1_connect) { + if (!is_camera_0_connect) { + delete video_gimble; video_gimble = new CameraWrapper(0, "armor"); - if (!(is_gimble_connect = video_gimble->init())) { - delete video_gimble; - video_gimble = nullptr; - } + is_camera_0_connect = video_gimble->init(); } - if (!is_chassis_connect) { + if (!is_camera_1_connect) { + delete video_chassis; video_chassis = new CameraWrapper(1, "energy"); - if (!(is_chassis_connect = video_chassis->init())) { - delete video_chassis; - video_chassis = nullptr; - } + is_camera_1_connect = video_chassis->init(); } - return is_gimble_connect && is_chassis_connect; + return is_camera_0_connect && is_camera_1_connect; } -bool checkReconnect(bool is_gimble_connect) { - if (!is_gimble_connect) { +bool checkReconnect(bool is_camera_connect) { + if (!is_camera_connect) { + delete video_gimble; video_gimble = new CameraWrapper(0, "armor"); - if (!(is_gimble_connect = video_gimble->init())) { - delete video_gimble; - video_gimble = nullptr; - } + is_camera_connect = video_gimble->init(); } - return is_gimble_connect; + return is_camera_connect; } auto gimble_video_writer = initVideoWriter(PROJECT_DIR"/gimble_video/");