#include #include #include "infer.hpp" int main(int argc, char *argv[]) { // Проверяет количество аргументов if (argc != 3) { std::cerr << "Использование: " << argv[0] << " " << std::endl; return EXIT_FAILURE; } // Получает пути к модели и изображению из аргументов программы const std::string model_path = argv[1]; const std::string image_path = argv[2]; // Проверяем наличие OpenVINO попыткой вывести версию try { std::cout << ov::get_openvino_version() << std::endl; } catch (const std::exception &ex) { std::cerr << ex.what() << std::endl; return EXIT_FAILURE; } // Читает изображение из файла cv::Mat image = cv::imread(image_path); if (image.empty()) { std::cerr << "ОШИБКА: Не удалось загрузить изображение" << std::endl; return EXIT_FAILURE; } // Определение значений const float probability = 0.5; const float NMS = 0.5; // Создание объекта класса распознования Inf *i; i = new Inf(model_path, cv::Size(640, 640), probability, NMS); // Запуск распознования объектов i->inference(image); // Запись результата в файл cv::imwrite("/tmp/cpp_openvino_result.bmp", image); return EXIT_SUCCESS; }