Я хочу изучить и использовать классификатор haarcascade с использованием OpenCV для обнаружения объекта по моему выбору. Я поискал в Интернете и обнаружил, что утилита createsamples помогает в создании набора данных для позитивных и негативных изображений. Я знаю, как установить OpenCV на python (pip install opencv-python работает отлично), но, поскольку мне нужно использовать эту утилиту, мне нужно создать OpenCV для моей системы Windows.
Попытка 1: использование MinGW и cmake
клонировал последнюю версию OpenCV с помощью git на "C:\OpenCV" из https://github.com/opencv/opencv
Установленный cmake
"C:\OpenCV\build" с использованием системы сборки MinGW (64-разрядная) с параметрами по умолчаниюmingw32-makemingw32-make installОн создал каталог установки в "C:\OpenCV\build\install".
но к моему удивлению opencv_createsamples.exe там не было
opencv_visualisation.exe, opencv_annotation.exe, opencv_version.exe и т.д. присутствуют
скриншот сгенерированных установочных файлов
скриншот параметров сборки, выбранных в cmake по умолчанию
Ясно, что BUILD_opencv_apps по умолчанию является true, и были созданы другие приложения, кроме этого.
все еще в исходной папке: createsamples.cpp присутствует в "C:\OpenCV\apps\" вместе с opencv_visualisation.cpp и другими
Попытка 2: сборка Visual Studio 14_15 с официального сайта
Загружена последняя версия OpenCV 4.0.1 с веб-страницы https://github.com/opencv/opencv/releases/download/4.0.1/opencv-4.0.1-vc14_vc15.exe с веб-страницы https://github.com/opencv/opencv/релизы.
извлек сборку opencv на "C:\OpenCV401\"
к моему удивлению на "C:\OpenCV401\build\x64\vc14\bin" нет opencv_createsamples.exe
так же присутствуют и другие файлы
скриншот файлов, присутствующих в сборке
Попытка 3
<OpenCV_DIR>/x64/vc10/bin/ присутствуют все замечательные файлыскриншот файлов, присутствующих в этой сборке
Итак, мой вопрос:
Значит, это проблема с моей стороны при использовании cmake с mingw, из-за которой я не смог получить эту утилиту?
@api55 Я использую параметры по умолчанию в cmake, а BUILD_opencv_apps — это true в конфигурации, а также были созданы другие приложения, такие как opencv_visualisation.exe, которые являются частью приложений, как указано в моем посте, но не opencv_createsamples.exe.
Я удалил последний вопрос и изменил заголовок на соответствующий. Теперь я также включил скриншот для параметров, связанных с конфигурацией cmake, при построении вопроса.
Когда вы открываете решение Visual Studio, есть ли в нем папка (в обозревателе решений) с надписью «Приложение»? в этой папке есть проект с именем opencv_createsamples?
@api55 В исходной папке OpenCV есть C:\\OpenCV\apps, существуют разные папки, такие как traincascade, annotation и т. д., включая createsamplesскриншот для папки <hr> снимок экрана для папки createamples
У меня нет визуальной студии, установленной в моей системе 1st, одна использует MinGW и cmake 2nd, одна уже собранная версия (с использованием Visual Studio 14-15), найденная на странице opencv github 3rd, одна сборка какого-то парня (с использованием Visual Studio 10) на github который завершен
Я хочу построить как страница github этого парня github.com/abreheret/opencv3.2.0_build
На самом деле я получаю тот же результат, что и в этом github... Но я использую visualstudio, не уверен, что отличается... Я могу попробовать позже на другом компьютере с ming





Создание образцов было отключено в последней версии OpenCV (4.0 и выше): здесь.
Просто добавьте немного больше к вашему ответу. Причина в этом проблема ... Короче говоря, он использовал C Api, и они не переписывали его на С++.
Спасибо за разъяснение, что они удалили эту утилиту
Теперь я должен найти другие способы построить набор данных для моего классификатора.
Я бы предложил просто собрать стабильную версию 3.4 из репозитория и использовать ее там.
1) OpenCV — это библиотека, в ней есть примеры и утилиты, но они не собираются по умолчанию, не всем нужны. 2) Их официальная сборка - это библиотека, а не утилиты или приложения. Правильный способ — через cmake, но убедитесь, что вы отметили опцию Build_opencv_apps, а затем в журнале, где указано, что модули OpenCV: там есть строка с надписью
Applications: apps. На третий вопрос я позволю кому-то ответить... однако я думаю, что заголовок должен быть ближе к последнему вопросу, чтобы больше людей ответило вам.