Появляется ошибка о том, что opencv_core245.dll
и opencv_ml245.dll
отсутствуют.
Они связаны с библиотекой OpenCV (Open Source Computer Vision). Вы можете попробовать установить это в первую очередь.
Замечания по установке
Средство извлечения OpenCV для Windows (в настоящее время упакованное как .exe
) запросит путь для извлечения при запуске. Папка opencv
создается автоматически в этом месте.
В широком смысле, не должно иметь значения, где вы решили извлечь эти файлы. Тем не менее, ваша программа может иметь определенные требования (которые вам нужно будет проверить) в отношении размещения отсутствующих DLL-файлов.
Некоторые программы могут требовать, чтобы путь к библиотеке был определен в их настройках, в то время как другие могут требовать, чтобы вы вручную помещали файлы, например, в их программную папку (и) (или другие места). Вам нужно будет подтвердить, какой из этих вариантов применим, через документацию вашей программы или дальнейшие исследования.
OpenCV поставляется с несколькими builds
. Вы должны сопоставить "битность" выбранных вами библиотек .dll с "битностью" вашей программы (то есть 32-битной или 64-битной).
TITARL
Для TITARL отсутствующие .dll должны быть помещены в ту же папку, что и TITARL.exe
:
opencv_core245.dll
и opencv_ml245.dll
К сожалению, OpenCV 2.4.5 (и эти .dll) больше не кажутся легко доступными как предварительно скомпилированные двоичные файлы. Однако библиотека OpenCV 2.4.5 по-прежнему доступна в виде исходного кода из официального репозитория GitHub. Недостающие .dll должны быть скомпилированы из этого исходного кода перед запуском программы.
Если вы доверяете незнакомцам в Интернете, я собрал для вас 64-битные версии этих двух .dll . Похоже, они правильно работали с example_learning.bat
предоставленным TITARL. Тем не менее, они не были тщательно проверены каким-либо образом.
Предостережения
Эти .dll были созданы с помощью Visual Studio 14 (2015) в Windows 7 без поддержки Python.
Поддержка FFmpeg и DirectShow была включена в параметры сборки, но напрямую не тестировалась.
Никаких других .dll не было построено, кроме opencv_core245.dll
и opencv_ml245.dll
.
Если вы решите попробовать их и столкнетесь с проблемами (например, необъяснимым поведением или другими проблемами), вам, возможно, просто придется скомпилировать их самостоятельно. Я даю обзор шагов, которые я предпринял ниже.
Руководство по миникомпиляции для Visual Studio
Основываясь на этом общем руководстве по компиляции OpenCV 3 с Visual Studio, которое вы упомянули в комментариях, следующие шаги должны позволить вам получить хотя бы минимально работающую установку TITARL путем создания необходимых отсутствующих DLL-файлов.
подготовка
Загрузите и установите Microsoft Visual Studio Community Edition (бесплатно). Они также имеют более старые версии , в зависимости от ваших потребностей. Имейте в виду, что для старых версий в настоящее время требуется доступ к бесплатной учетной записи Dev Essentials.
Скачайте и установите CMake. CMake - это утилита, которая помогает компиляции пройти немного проще и OpenCV 2.4.5. имеет необходимые файлы для работы с ним.
Загрузите и извлеките исходный код, связанный ранее (если вы еще этого не сделали). Где вы извлекаете исходный код - ваш выбор.
Предполагая, что CMake установлен, откройте графический интерфейс (например, с помощью значка на рабочем столе).
Вверху главного окна введите путь к исходному коду в первом поле. В дополнительном поле чуть ниже, добавьте путь, где вы хотели бы хранить файлы, связанные с компиляцией (расположение этого второго пути на ваш выбор). На всех этих этапах я буду использовать папку с именем build
, расположенную в том же каталоге, что и исходный код:
После ввода этих путей нажмите кнопку « Настроить» в нижней части главного окна. Новое диалоговое окно должно появиться.
В этом диалоговом окне выберите правильный "генератор" для ваших .dll. Для Visual Studio это будет имя издания, за которым следует либо ничто (которое создает 32-разрядные двоичные файлы), либо Win64
(которое строит 64-разрядные двоичные файлы). TITARL - это 64-битная программа (TITARL 1.7 [Win x64 - Public release]
), поэтому вам нужно будет выбрать, например, Visual Studio 14 2015 Win64
или Visual Studio 15 2017 Win64
для создания соответствующих 64-битных .dll:
Нажмите Finish, чтобы закрыть диалоговое окно. CMake автоматически начнет обработку исходного кода OpenCV 2.4.5. В главном окне кнопка « Настройка» изменится на кнопку « Стоп» , а кнопки « Генерирование ...» и « Открыть проект ...» рядом с ней будут выделены серым цветом. Обратите внимание, что эта первоначальная обработка может занять несколько минут.
Как только эта обработка будет завершена, верхняя панель в главном окне CMake будет отображать большое количество информации красным цветом (это новые обнаруженные опции). Нижняя панель должна гласить "Конфигурирование выполнено":
Найдите параметры сборки, помеченные как BUILD_opencv_*
(где *
- это имя, например apps
). Все они должны быть в одном блоке. Снимите флажок рядом с каждым элементом, за исключением BUILD_opencv_core
и BUILD_opencv_ml
. Нажмите Настроить снова. После того, как обработка завершится еще раз, нажмите Generate .... После завершения главное окно CMake должно выглядеть примерно так:
Исправление OpenCV 2.4.5
Обычно на этом этапе все будет готово для компиляции недостающих .dll. Тем не менее, OpenCV 2.4.5. имеет общую проблему с Visual Studio 12+, где он генерирует большое количество "max" : is not a member of "std"
ошибок "std" , которые препятствуют созданию необходимых DLL-файлов.
К счастью, как подробно описано в ответе на этот вопрос StackOverflow, компиляция может быть достигнута с некоторыми незначительными изменениями исходного кода.
Чтобы исправить эту проблему:
Найдите решение OpenCV.sln
сгенерированное CMake ранее (например, в C:\path\to\opencv-2.4.5\build
).
Дважды щелкните файл, чтобы открыть его в Visual Studio. Поскольку это, вероятно, первый раз, когда вы открыли это решение, Visual Studio может потребоваться минута или две, чтобы полностью проанализировать его. Посмотрите на синюю полосу активности в нижней части главного окна Visual Studio и подождите, пока она не скажет "Готово", прежде чем продолжить.
Когда Visual Studio установится, нажмите Ctrl + H, чтобы открыть диалоговое окно « Найти и заменить », а затем выполните следующие действия:
- В разделе
Find what:
введите #include \<string\>
.
- В разделе
Replace with:
введите #include <algorithm>\n#include <string>
.
- Установите
Look in
на « Entire Solution
(при необходимости).
- Под
Find options
убедитесь, что помечено Use Regular Expressions
.
- Нажмите Заменить все, когда закончите.
составление
После того, как все вышеперечисленные шаги выполнены, вы должны быть готовы к компиляции с CMake. Откройте командное окно в вашем каталоге build
(например, C:\path\to\opencv-2.4.5\build
) и введите, например:
C:\path\to\cmake.exe --build . --config Release --target INSTALL
Через короткое время (до 15 минут) компиляция должна быть завершена, а недостающие .dll должны быть доступны в папке install\bin
каталога build
(например, C:\path\to\opencv-2.4.5\build\install\bin
). Как отмечалось ранее, .dll в этой папке должны быть помещены в ту же папку, что и TITARL.exe
.
Главные примечания
Выполнив описанные выше шаги, я не столкнулся с серьезными ошибками, кроме необходимого исправления кода в Visual Studio. Однако я не пытался собрать всю библиотеку.
Не каждый шаг, представленный здесь, точно отражает шаги, указанные в ссылках руководства. Вы можете обратиться к этим ссылкам для получения дополнительной информации.
Visual Studio Notes
Visual Studio может быть большой установкой и может нуждаться в самостоятельной настройке. Поэтому этап подготовки 1 может занять больше времени, чем вы думаете.
Если вы планируете возиться с поддержкой Python в OpenCV, возможно, потребуется установить Visual Studio с Python Tools for Visual Studio
вместе с его поддержкой Visual C++
.
Желтые предупреждающие сообщения во время компиляции часто можно игнорировать. Красные сообщения об ошибках, с другой стороны, указывают на проблемы, которые приведут к сбою сборки (т. Е. Не будут создаваться DLL-файлы). Однако это не то же самое, что потенциально "безопасные" красные ошибки, которые CMake генерирует ниже.
CMake Notes
CMake использует /
не \
для путей Windows в своем интерфейсе GUI. Тем не менее, вставленные пути должны иметь любые \
переключаться на /
автоматически.
Если вы не хотите вводить полный путь к cmake.exe
на последнем этапе компиляции, выберите опцию добавления CMake в PATH во время его установки.
Опция для сборки .dll с поддержкой Python в CMake требует шагов, которые здесь не перечислены.
Подготовка Шаг 7 может привести к созданию неправильных двоичных файлов, если вы выберете неправильный генератор (то есть 32-битные .dll не будут работать с 64-битной программой).
Однако, оставив переключатель в качестве параметра Use default native compilers
будет в порядке.
Если вы допустили какие-либо ошибки в CMake и т.д., Просто удалите папку build
и начните заново с шага подготовки 4.
В CMake с приведенными шагами красные "ошибки" в интерфейсе, похоже, не вызывали серьезных проблем. Тем не менее, вероятно, стоит вообще отметить любую ошибку или предупреждение, с которым вы столкнулись.
Если есть какие-либо серьезные проблемы, настройка не будет завершена, и будет записан журнал ошибок.