snipplets.dev/projects/OpenVINO/C++/i.cpp
2024-08-24 15:24:01 +03:00

48 lines
1.5 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <string>
#include <vector>
#include "infer.hpp"
int main(int argc, char *argv[]) {
// Проверяет количество аргументов
if (argc != 3) {
std::cerr << "Использование: " << argv[0] << " <model_path> <image_path>" << 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;
}