Windows компилирует opencv, поддерживает ускорение cuda

компьютерное зрение

Это 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Папка, используемая для хранения файлов, созданных при компиляции, структура каталогов на данный момент

windows cuda opencv

Затем перейдите к загрузке исходного кода

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

windows cuda opencv

указанныйWhere is the source codeиWhere to build the binariesпуть, затем нажмите нижеConfigureкнопка

windows cuda opencv

Появившийсяpython2Связанные ошибки игнорируются напрямую, потому что они вообще не устанавливаются, а версия вот-вот будет заброшена. мойpythonокружающая средаanaconda, не забудьте установить переменную системной среды

windows cuda opencv

Далее, по сетевым причинам, были две ошибки загрузки. Давайте соберем их вместе и сначала посмотрим на подсказки об ошибках.

windows cuda opencv

windows cuda opencv

одинippicv, другойffmpeg, я несколько раз безуспешно пытался загрузить. Поэтому я могу найти только другой способ, согласно подсказке об ошибке, открыть файлopencv\3rdparty\ippicv\ippicv.cmake, найти адрес загрузки

windows cuda opencv

Обратите внимание, что эта ссылка не является окончательным адресом загрузки, ее нужно склеить, сначала найти${IPPICV_COMMIT}соответствующее значение, а затем найдите имя архива программного обеспечения, оба из которых можно найти в текущемippicv.cmakeнашел в файле

windows cuda opencv

windows cuda opencv

Окончательный путь загрузки пакета файлов после сращивания выглядит следующим образом.

windows cuda opencv

Затем загрузите связанный файл и используйте браузер для

windows cuda opencv

загруженzipпакет, осталась последняя часть работы, или вippicv.cmakeфайл, найтиOPENCV_ICV_HASHсоответствующее значение, затем загруженноеzipФайлы пакета переименовываются, чтобы получить1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip, скопируйте этот файл вopencv.cache\ippicvВниз

windows cuda opencv

windows cuda opencv

На тех же шагах ставимffmpegОтсутствующие файлы также загружаются и помещаются в соответствующий каталог

windows cuda opencv

windows cuda opencv

windows cuda opencv

windows cuda opencv

ПродолжатьConfigure, и файл не может быть загружен,face_landmark_module.dat, это файл, связанный с распознаванием лиц, его тоже скачиваем вручную по предыдущему способу, а потом сохраняем в соответствующую директорию

windows cuda opencv

продолжатьConfigure, произошла еще одна ошибка

windows cuda opencv

см. подсказку, даopencv_contribПуть не указан, нажмитеcmake-guiВверхAdd Entry,Добавить кOPENCV_EXTRA_MODULES_PATH, указывая на скачанныйopencv_contribвнизmodulesПапка, обратите особое внимание, здесь необходимо использовать разделитель каталогов/, даже вwindowsвыше, как показано ниже

windows cuda opencv

так какcudaВзаимосвязь установленной версии, мы использовали последнюю10.2,ПоявитсяcudaНекоторые ошибки неподдерживаемой версии

windows cuda opencv

пройти черезgrepинструмент, находим переменнуюCUDA_ARCH_BINвvs/CMakeCache.txtВ определении мы напрямую изменяем значение в этом файле, убираем маленький номер версии

windows cuda opencv

windows cuda opencv

так какcmake-guiПо причинам кэширования нам также необходимоcmake-guiизменено вCUDA_ARCH_BINзначение

windows cuda opencv

windows cuda opencv

Потом было мягче, покаConfigureуспех

windows cuda opencv

windows cuda opencv

windows cuda opencv

Здесь вы можете сгенерироватьvisual studioработает, нажмитеcmake-guiВверхGenerate

windows cuda opencv

Потомvsпапка, сvisual studio 2019открыть файлOpenCV.sln, в решении справаCMakeTargetsвнизINSTALL, щелкните правой кнопкой мыши, чтобы выбрать生成

windows cuda opencv

Официально начинайте компилировать и устанавливать, подождите некоторое время, здесь я бегал почти 2 часа, в зависимости от производительности вашего компьютера.

windows cuda opencv

наконец пришелopencvПосмотреть путь установки

windows cuda opencv

windows cuda opencv

Видно, что следующееcudaСвязанныйdll!

резюме

В течение всего процесса компиляции и установки было много неудачных загрузок пакетов программного обеспечения, это вызвано сетевым окружением, поэтому мы можем найти только другой способ. Чтобы добиться успеха, вы должны быть терпеливы. составленоopencvКак используются файлы библиотеки? Мы продолжим позже.

использованная литература