diff --git a/.gitignore b/.gitignore index 9440013..7e86002 100644 --- a/.gitignore +++ b/.gitignore @@ -33,4 +33,5 @@ *.app # BUILD -./build/* +build/ +.cache/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 253aa70..e23fea0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10) project(armor_detector_mdv) # Set C++ standard -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Find OpenCV package @@ -10,21 +10,20 @@ find_package(OpenCV REQUIRED) # Include OpenCV headers include_directories(${OpenCV_INCLUDE_DIRS}) - -# Include MindVision SDK headers (请根据实际SDK路径调整) -# 由于MindVision SDK在WSL中,需要在WSL环境下编译 -include_directories("/home/lld/mdv/include") +include_directories(~/code/cpp/Catalyst-MDVS/inc) +include_directories(/usr/include) +include_directories(/usr/include/opencv4/opencv2/imgproc) # Add executable for MindVision version add_executable(armor_detector_mdv - main.cpp - MindVisionCamera.cpp - ImagePreprocessor.cpp - ArmorDetector.cpp - KalmanFilter.cpp - Visualizer.cpp - BallisticPredictor.cpp - TTLCommunicator.cpp + src/main.cpp + src/MindVisionCamera.cpp + src/ImagePreprocessor.cpp + src/ArmorDetector.cpp + src/KalmanFilter.cpp + src/Visualizer.cpp + src/BallisticPredictor.cpp + src/TTLCommunicator.cpp ) # Link OpenCV libraries @@ -32,7 +31,7 @@ target_link_libraries(armor_detector_mdv ${OpenCV_LIBS}) # Link MindVision SDK library (路径需要根据实际情况调整) # 根据提供的Makefile,库名应该是MVSDK -link_directories("/home/lld/mdv/lib/x86") +link_directories("/lib") target_link_libraries(armor_detector_mdv MVSDK) # Additional flags for better compilation diff --git a/conanfile.txt b/conanfile.txt new file mode 100644 index 0000000..e69de29 diff --git a/ArmorDetector.h b/inc/ArmorDetector.h similarity index 100% rename from ArmorDetector.h rename to inc/ArmorDetector.h diff --git a/BallisticPredictor.h b/inc/BallisticPredictor.h similarity index 100% rename from BallisticPredictor.h rename to inc/BallisticPredictor.h diff --git a/Camera.h b/inc/Camera.h similarity index 100% rename from Camera.h rename to inc/Camera.h diff --git a/ImagePreprocessor.h b/inc/ImagePreprocessor.h similarity index 100% rename from ImagePreprocessor.h rename to inc/ImagePreprocessor.h diff --git a/KalmanFilter.h b/inc/KalmanFilter.h similarity index 100% rename from KalmanFilter.h rename to inc/KalmanFilter.h diff --git a/MindVisionCamera.h b/inc/MindVisionCamera.h similarity index 100% rename from MindVisionCamera.h rename to inc/MindVisionCamera.h diff --git a/TTLCommunicator.h b/inc/TTLCommunicator.h similarity index 100% rename from TTLCommunicator.h rename to inc/TTLCommunicator.h diff --git a/Visualizer.h b/inc/Visualizer.h similarity index 100% rename from Visualizer.h rename to inc/Visualizer.h diff --git a/config.h b/inc/config.h similarity index 100% rename from config.h rename to inc/config.h diff --git a/ArmorDetector.cpp b/src/ArmorDetector.cpp similarity index 99% rename from ArmorDetector.cpp rename to src/ArmorDetector.cpp index 4591f86..594c3c0 100644 --- a/ArmorDetector.cpp +++ b/src/ArmorDetector.cpp @@ -1,5 +1,4 @@ #include "ArmorDetector.h" -#include #include #include diff --git a/BallisticPredictor.cpp b/src/BallisticPredictor.cpp similarity index 100% rename from BallisticPredictor.cpp rename to src/BallisticPredictor.cpp diff --git a/Camera.cpp b/src/Camera.cpp similarity index 98% rename from Camera.cpp rename to src/Camera.cpp index 44fb3d0..e053829 100644 --- a/Camera.cpp +++ b/src/Camera.cpp @@ -12,7 +12,7 @@ Camera::Camera(int cam_id, const std::string& target_color) { cap.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M', 'J', 'P', 'G')); cap.set(cv::CAP_PROP_FRAME_WIDTH, 640); cap.set(cv::CAP_PROP_FRAME_HEIGHT, 480); - cap.set(cv::CAP_PROP_FPS, 100) + cap.set(cv::CAP_PROP_FPS, 100); is_opened = true; this->target_color = target_color; diff --git a/ImagePreprocessor.cpp b/src/ImagePreprocessor.cpp similarity index 98% rename from ImagePreprocessor.cpp rename to src/ImagePreprocessor.cpp index 3ad813c..1df2587 100644 --- a/ImagePreprocessor.cpp +++ b/src/ImagePreprocessor.cpp @@ -1,5 +1,4 @@ #include "ImagePreprocessor.h" -#include #include ImagePreprocessor::ImagePreprocessor() { diff --git a/KalmanFilter.cpp b/src/KalmanFilter.cpp similarity index 98% rename from KalmanFilter.cpp rename to src/KalmanFilter.cpp index 7378a3e..3bdbc12 100644 --- a/KalmanFilter.cpp +++ b/src/KalmanFilter.cpp @@ -1,6 +1,5 @@ #include "KalmanFilter.h" #include "config.h" -#include KalmanFilter::KalmanFilter() { // 4 state variables (x, y, dx, dy), 2 measurements (x, y) diff --git a/MindVisionCamera.cpp b/src/MindVisionCamera.cpp similarity index 100% rename from MindVisionCamera.cpp rename to src/MindVisionCamera.cpp diff --git a/MindVisionMain.cpp b/src/MindVisionMain.cpp similarity index 98% rename from MindVisionMain.cpp rename to src/MindVisionMain.cpp index a0e0a2c..8ec340b 100644 --- a/MindVisionMain.cpp +++ b/src/MindVisionMain.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include @@ -51,7 +50,7 @@ void output_control_data(const cv::Point2f* ballistic_point, } } -void set_camera_resolution(MindVisionCamera& camera, int width, int height) { +void set_camera_resolution(MindVisionCamera& , int width, int height) { // The resolution is set during camera initialization in MindVision // We need to implement a method in MindVisionCamera to change resolution // For now, we'll just log the intended change diff --git a/TTLCommunicator.cpp b/src/TTLCommunicator.cpp similarity index 100% rename from TTLCommunicator.cpp rename to src/TTLCommunicator.cpp diff --git a/Visualizer.cpp b/src/Visualizer.cpp similarity index 100% rename from Visualizer.cpp rename to src/Visualizer.cpp diff --git a/main.cpp b/src/main.cpp similarity index 98% rename from main.cpp rename to src/main.cpp index 81bc2d8..0f54447 100644 --- a/main.cpp +++ b/src/main.cpp @@ -3,7 +3,6 @@ #include #include #include -#include #include @@ -117,10 +116,10 @@ int main(int /*argc*/, char* /*argv*/[]) { cv::Mat frame; try { while (true) { - if (!camera.read_frame(frame)) { - std::cout << "Cannot read from MindVision camera, exiting!" << std::endl; - break; - } + //if (!camera.read_frame(frame)) { + // std::cout << "Cannot read from MindVision camera, exiting!" << std::endl; + // break; + //} // Get actual image size and calculate center cv::Point2f img_center(frame.cols / 2.0f, frame.rows / 2.0f);