Это 11-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления
Программно-аппаратная среда
- windows 10 64bit
- nvidia gtx 1070Ti
- opencv 4.2.0-dev
- cuda 10.2
- cudnn 7.6.5.32
- visual studio 2019
предисловие
Цель этой статьи состоит в том, чтобыwindow10компилируется в системеopencvПоследняя исходная версия (4.2.0) включенаcudaиcudnnускорить. оcudaиcudnnсуществуетwindows10Для установки на , пожалуйста, обратитесь к предыдущей статьеImagination.com/2019/12/18/….
Супер подробный графический учебник
Первый шаг к загрузкеopencvиopencv_contribИсходный код , помещаем в единый каталог для управления, например мой здесьC:\xugaoxiang\opencv_cuda, и создайте еще одинvsПапка, используемая для хранения файлов, созданных при компиляции, структура каталогов на данный момент
Затем перейдите к загрузке исходного кода
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
так какopencvоснован наcmakeсоставлено для удобстваcmakeКомпилируем настройки параметров, переходим к загрузкеcmakeи использоватьcmake-guiДля конфигурации адрес загрузкиcmake.org/download/
После скачивания и установки открываемcmake-gui
указанныйWhere is the source codeиWhere to build the binariesпуть, затем нажмите нижеConfigureкнопка
Появившийсяpython2Связанные ошибки игнорируются напрямую, потому что они вообще не устанавливаются, а версия вот-вот будет заброшена. мойpythonокружающая средаanaconda, не забудьте установить переменную системной среды
Далее, по сетевым причинам, были две ошибки загрузки. Давайте соберем их вместе и сначала посмотрим на подсказки об ошибках.
одинippicv, другойffmpeg, я несколько раз безуспешно пытался загрузить. Поэтому я могу найти только другой способ, согласно подсказке об ошибке, открыть файлopencv\3rdparty\ippicv\ippicv.cmake, найти адрес загрузки
Обратите внимание, что эта ссылка не является окончательным адресом загрузки, ее нужно склеить, сначала найти${IPPICV_COMMIT}соответствующее значение, а затем найдите имя архива программного обеспечения, оба из которых можно найти в текущемippicv.cmakeнашел в файле
Окончательный путь загрузки пакета файлов после сращивания выглядит следующим образом.
Затем загрузите связанный файл и используйте браузер для
загруженzipпакет, осталась последняя часть работы, или вippicv.cmakeфайл, найтиOPENCV_ICV_HASHсоответствующее значение, затем загруженноеzipФайлы пакета переименовываются, чтобы получить1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip, скопируйте этот файл вopencv.cache\ippicvВниз
На тех же шагах ставимffmpegОтсутствующие файлы также загружаются и помещаются в соответствующий каталог
ПродолжатьConfigure, и файл не может быть загружен,face_landmark_module.dat, это файл, связанный с распознаванием лиц, его тоже скачиваем вручную по предыдущему способу, а потом сохраняем в соответствующую директорию
продолжатьConfigure, произошла еще одна ошибка
см. подсказку, даopencv_contribПуть не указан, нажмитеcmake-guiВверхAdd Entry,Добавить кOPENCV_EXTRA_MODULES_PATH, указывая на скачанныйopencv_contribвнизmodulesПапка, обратите особое внимание, здесь необходимо использовать разделитель каталогов/, даже вwindowsвыше, как показано ниже
так какcudaВзаимосвязь установленной версии, мы использовали последнюю10.2,ПоявитсяcudaНекоторые ошибки неподдерживаемой версии
пройти черезgrepинструмент, находим переменнуюCUDA_ARCH_BINвvs/CMakeCache.txtВ определении мы напрямую изменяем значение в этом файле, убираем маленький номер версии
так какcmake-guiПо причинам кэширования нам также необходимоcmake-guiизменено вCUDA_ARCH_BINзначение
Потом было мягче, покаConfigureуспех
Здесь вы можете сгенерироватьvisual studioработает, нажмитеcmake-guiВверхGenerate
Потомvsпапка, сvisual studio 2019открыть файлOpenCV.sln, в решении справаCMakeTargetsвнизINSTALL, щелкните правой кнопкой мыши, чтобы выбрать生成
Официально начинайте компилировать и устанавливать, подождите некоторое время, здесь я бегал почти 2 часа, в зависимости от производительности вашего компьютера.
наконец пришелopencvПосмотреть путь установки
Видно, что следующееcudaСвязанныйdll!
резюме
В течение всего процесса компиляции и установки было много неудачных загрузок пакетов программного обеспечения, это вызвано сетевым окружением, поэтому мы можем найти только другой способ. Чтобы добиться успеха, вы должны быть терпеливы. составленоopencvКак используются файлы библиотеки? Мы продолжим позже.