Содержание:
Я хотел бы установить OpenCV в Visual Studio и я пробовал несколько способов, и у меня все еще есть те же проблемы ..
Код не содержит ошибок.
Код говорит, что LNK2019 нерешенный внешний символ.
Установка через консоль диспетчера пакетов: PM> Install-Package opencvdefault (c ++)
Установите с помощью пакета управления Nuget для решения: opencv.win.native (c ++)
Установите файл из Интернета: opencv_python-3.4.1-cp37-cp37m-win32 (python)
Что я делаю неправильно? Я хочу использовать это в VS 2017 с C ++ или Python.
Решение
Я бы посоветовал вам скачать исходные коды OpenCV с opencv.org и последнюю версию установочного комплекта CMake с cmake.org.
Вы сможете собрать OpenCV на своем собственном ПК. Мой собственный опыт показал, что это довольно просто, и Open CV работает без проблем.
CMAke имеет поддержку MS Visual Studio 15 (также называется MS Visual Studio 2017)
Другие решения
Итак, вы создали проект под названием «opencv», только слегка запутав вопрос.
Первое, что нужно решить, если вы хотите использовать Visual Studio (C ++) или Python?
Если Visual Studio, я предлагаю загрузить последнюю версию библиотеки с веб-сайта OpenCV (выберите «Win pack») https://opencv.org/releases.html
Затем в вашем проекте вам нужно будет включить папку заголовков OpenCV и ссылку на библиотеки (lib), а затем убедиться, что ваш исполняемый файл может найти основную библиотеку opencv dll.
Я не рекомендую компилировать библиотеку OpenCV с помощью Cmake — это не тривиально (я потратил на это полдня и потерпел неудачу) — более того, это не нужно, поскольку OpenCV можно использовать как есть.
Чтобы установить поддержку Python для Visual Studio (Инструменты Python для Visual Studio или PTVS), выполните инструкции из раздела, который соответствует вашей версии Visual Studio: To install Python support for Visual Studio (also known as Python Tools for Visual Studio or PTVS), follow the instructions in the section that matches your version of Visual Studio:
Чтобы быстро проверить поддержку Python после установки, откройте интерактивное окно Python. Для этого нажмите клавиши ALT+I и введите 2+2 . To quickly test Python support after following the installation steps, open the Python Interactive window by pressing Alt+I and entering 2+2 . Если вы не увидите результат 4 , проверьте выполненные действия. If you don’t see the output of 4 , recheck your steps.
Рабочая нагрузка Python содержит полезное расширение Cookiecutter, которое предоставляет графический пользовательский интерфейс для поиска шаблонов, ввода параметров шаблонов и создания проектов и файлов. The Python workload includes the helpful Cookiecutter extension that provides a graphical user interface to discover templates, input template options, and create projects and files. Дополнительные сведения см. в статье Использование расширения Cookiecutter. For details, see Use Cookiecutter.
Сейчас Python не поддерживается в Visual Studio для Mac, однако доступен в Mac и Linux посредством Visual Studio Code. Python support is not presently available in Visual Studio for Mac, but is available on Mac and Linux through Visual Studio Code. См. вопросы и ответы. See questions and answers.
Visual Studio 2019 и Visual Studio 2017 Visual Studio 2019 and Visual Studio 2017
Скачайте и запустите последнюю версию Visual Studio Installer. Download and run the latest Visual Studio installer. Если вы уже установили Visual Studio, запустите Visual Studio Installer, выберите вариант Изменить (см. раздел Изменение Visual Studio) и перейдите к шагу 2. If you have Visual Studio installed already, run the Visual Studio Installer, select the Modify option (see Modify Visual Studio) and go to step 2.
Выпуск Community предназначен для индивидуальных разработчиков, использования при аудиторном обучении и в научных исследованиях, а также разработки решений с открытым кодом. The Community edition is for individual developers, classroom learning, academic research, and open source development. Если программу планируется использовать в других целях, установите Visual Studio 2019 Professional или Visual Studio 2019 Enterprise. For other uses, install Visual Studio 2019 Professional or Visual Studio 2019 Enterprise.
В установщике предлагается список рабочих нагрузок, то есть групп связанных параметров для определенных целей разработки. The installer presents you with a list of workloads, which are groups of related options for specific development areas. Для Python выберите рабочую нагрузку Разработка на Python. For Python, select the Python development workload.
Необязательно: если вы занимаетесь обработкой и анализом данных, также рекомендуется установить рабочую нагрузку Приложения для обработки и анализа данных и аналитические приложения. Optional: if you’re working with data science, also consider the Data science and analytical applications workload. Эта рабочая нагрузка включает в себя поддержку языков Python, R и F#. This workload includes support for the Python, R, and F# languages. Дополнительные сведения см. в разделе Рабочая нагрузка "Приложения для обработки и анализа данных и аналитические приложения". For more information, see Data science and analytical applications workload.
Рабочие нагрузки для Python и обработки и анализа данных доступны только в Visual Studio2017 версии 15.2 и выше. The Python and Data Science workloads are available only with Visual Studio 2017 version 15.2 and later.
Необязательно: если вы занимаетесь обработкой и анализом данных, также рекомендуется установить рабочую нагрузку Приложения для обработки и анализа данных и аналитические приложения. Optional: if you’re working with data science, also consider the Data science and analytical applications workload. Эта рабочая нагрузка включает в себя поддержку Python и F#. This workload includes support for the Python and F# languages. Дополнительные сведения см. в разделе Рабочая нагрузка "Приложения для обработки и анализа данных и аналитические приложения". For more information, see Data science and analytical applications workload.
В правой области установщика при необходимости выберите дополнительные параметры. On the right side of the installer, chose additional options if desired. Чтобы принять параметры по умолчанию, пропустите этот шаг. Skip this step to accept the default options.
Параметр Option | Описание Description |
---|---|
Дистрибутивы Python Python distributions | Выберите любое сочетание доступных дистрибутивов 32- и 64-разрядных версий Python 2, Python 3, Miniconda, Anaconda2 и Anaconda3, с которыми вы планируете работать. Choose any combination of the available options, such as 32-bit and 64-bit variants of the Python 2, Python 3, Miniconda, Anaconda2, and Anaconda3 distributions that you plan to work with. Каждый дистрибутив включает в себя интерпретатор, среду выполнения и библиотеки. Each includes the distribution’s interpreter, runtime, and libraries. В частности, Anaconda — это открытая платформа обработки и анализа данных, которая включает в себя множество предварительно установленных пакетов. Anaconda, specifically, is an open data science platform that includes a wide range of pre-installed packages. (Вы можете в любой момент вернуться в установщик Visual Studio, чтобы добавить или удалить дистрибутивы.) Примечание. Если вы установили дистрибутив без использования установщика Visual Studio, вам не нужно выполнять дополнительные действия. (You can return to the Visual Studio installer at any time to add or remove distributions.) Note: If you’ve installed a distribution outside of the Visual Studio installer, there’s no need to check the equivalent option here. Visual Studio автоматически определяет существующие установки Python. Visual Studio automatically detects existing Python installations. См. Окно "Окружения Python". See The Python Environments window. Кроме того, если доступна более новая версия Python, чем показанная в установщике, то вы можете установить эту версию отдельно, и Visual Studio обнаружит ее. Also, if a newer version of Python is available than what’s shown in the installer, you can install that version separately and Visual Studio will detect it. |
Поддержка шаблонов CookiecutterCookiecutter template support | Устанавливает графический пользовательский интерфейс Cookiecutter для поиска шаблонов, ввода их параметров и создания проектов и файлов. Installs the Cookiecutter graphical UI to discover templates, input template options, and create projects and files. См. раздел Использование расширения Cookiecutter. See Use the Cookiecutter extension. |
Поддержка веб-приложений PythonPython web support | Устанавливает средства для разработки веб-приложений, включая поддержку редактирования кода HTML, CSS и JavaScript, а также шаблоны проектов на основе платформ Bottle, Flask и Django. Installs tools for web development including HTML, CSS, and JavaScript editing support, along with templates for projects using the Bottle, Flask, and Django frameworks. См. статью Шаблоны веб-проектов Python. See Python web project templates. |
Поддержка Интернета вещей для PythonPython IoT support | Поддерживает разработку для Windows IoT Core с помощью Python. Supports Windows IoT Core development using Python. |
Встроенные средства разработки PythonPython native development tools | Устанавливает компилятор C++ и другие компоненты, необходимые для разработки собственных расширений для Python. Installs the C++ compiler and other necessary components to develop native extensions for Python. См. статью Создание расширения C++ для Python. See Create a C++ extension for Python. Чтобы обеспечить полную поддержку С++, установите рабочую нагрузку Разработка классических приложений на C++. Also install the Desktop development with C++ workload for full C++ support. |
Основные инструменты облачных служб AzureAzure Cloud Services core tools | Обеспечивает дополнительную поддержку для разработки облачных служб Azure на Python. Provides additional support for developer Azure Cloud Services in Python. См. статью Проекты облачных служб Azure. See Azure cloud service projects. |
После установки в установщике предлагаются команды для изменения, запуска, восстановления и удаления Visual Studio. After installation, the installer provides options to modify, launch, repair, or uninstall Visual Studio. Если доступны обновления для установленных компонентов Visual Studio, кнопка Изменить меняется на Обновить. The Modify button changes to Update when updates to Visual Studio are available for any installed components. (Команду Изменить в этом случае можно выбрать в раскрывающемся меню.) Запускать среду Visual Studio и установщик можно также из меню Пуск в Windows. Для этого выполните поиск по запросу "Visual Studio". (The Modify option is then available on the drop-down menu.) You can also launch Visual Studio and the installer from the Windows Start menu by searching on "Visual Studio".
Устранение неполадок Troubleshooting
Если у вас возникли проблемы при установке или запуске Python в Visual Studio, попробуйте сделать следующее: If you encounter problems installing or running Python in Visual Studio, try the following:
- Определите, возникает ли та же ошибка при использовании Python CLI, то есть при запуске python.exe из командной строки. Determine whether the same error occurs using the Python CLI, that is, running python.exe from a command prompt.
- Воспользуйтесь восстановлением Visual Studio. Use the Repair option in the Visual Studio installer.
- Восстановите или переустановите Python через Параметры >Приложения и компоненты в Windows. Repair or reinstall Python through Settings >Apps & features in Windows.
Пример ошибки. Не удалось запустить интерактивный процесс: System.ComponentModel.Win32Exception (0x80004005): Неизвестная ошибка (0xc0000135) в Microsoft.PythonTools.Repl.PythonInteractiveEvaluator.d__43.MoveNext(). Example error: Failed to start interactive process: System.ComponentModel.Win32Exception (0x80004005): Unknown error (0xc0000135) at Microsoft.PythonTools.Repl.PythonInteractiveEvaluator.d__43.MoveNext().
Visual Studio 2015 Visual Studio 2015
Чтобы запустить установщик Visual Studio, откройте Панель управления > Программы и компоненты, затем выберите Microsoft Visual Studio 2015 и нажмите кнопку Изменить. Run the Visual Studio installer through Control Panel > Programs and Features, selecting Microsoft Visual Studio 2015 and then Change.
В самом установщике выберите действие Изменить. In the installer, select Modify.
Выберите Языки программирования > Инструменты Python для Visual Studio и щелкните Далее: Select Programming Languages > Python Tools for Visual Studio and then Next:
Когда завершится работа установщика Visual Studio, установите любой интерпретатор Python на свой выбор. Once Visual Studio setup is complete, install a Python interpreter of your choice. Visual Studio 2015 поддерживает только Python версии 3.5 и более ранних. При использовании более поздних версий отображается сообщение об ошибке, например Неподдерживаемая версия Python 3.6). Visual Studio 2015 supports only Python 3.5 and earlier; later versions generate a message like Unsupported Python version 3.6). Если интерпретатор уже установлен, но Visual Studio не обнаруживает его автоматически, см. руководство по определению существующего окружения вручную. If you already have an interpreter installed and Visual Studio doesn’t detect it automatically, see Manually identify an existing environment.
Visual Studio 2013 и более ранние версии Visual Studio 2013 and earlier
Установите версию Инструментов Python для Visual Studio, соответствующую вашей версии Visual Studio. Install the appropriate version of Python Tools for Visual Studio for your version of Visual Studio:
- Visual Studio 2013: PTVS 2.2 для Visual Studio 2013. Visual Studio 2013: PTVS 2.2 for Visual Studio 2013. В Visual Studio 2013 этот процесс можно запустить через диалоговое окно Файл >Новый проект. The File >New Project dialog in Visual Studio 2013 gives you a shortcut for this process.
- Visual Studio 2012: PTVS 2.1 для Visual Studio 2012 Visual Studio 2012: PTVS 2.1 for Visual Studio 2012
- Visual Studio 2010: PTVS 2.1 для Visual Studio 2010 Visual Studio 2010: PTVS 2.1 for Visual Studio 2010
Selecting and installing Python interpreters (Установка и настройка интерпретаторов Python). Install a Python interpreter of your choice. Если интерпретатор уже установлен, но Visual Studio не обнаруживает его автоматически, см. руководство по определению существующего окружения вручную. If you already have an interpreter installed and Visual Studio doesn’t detect it automatically, see Manually identify an existing environment.
Расположения установки Install locations
По умолчанию поддержка Python устанавливается для всех пользователей на компьютере. By default, Python support is installed for all users on a computer.
В Visual Studio 2019 и Visual Studio 2017 рабочая нагрузка Python устанавливается в каталог %ProgramFiles(x86)%Microsoft Visual Studio Common7IDEExtensionsMicrosoftPython, где — это 2019 или 2017, а — Community, Professional или Enterprise. For Visual Studio 2019 and Visual Studio 2017, the Python workload is installed in %ProgramFiles(x86)%Microsoft Visual Studio Common7IDEExtensionsMicrosoftPython where is 2019 or 2017 and is Community, Professional, or Enterprise.
В Visual Studio 2015 и более ранних версиях используются такие пути установки: For Visual Studio 2015 and earlier, installation paths are as follows:
-
32-разрядная версия. 32-bit:
-
Путь: %Program Files(x86)%Microsoft Visual Studio Common7IDEExtensionsMicrosoftPython Tools for Visual Studio Path: %Program Files(x86)%Microsoft Visual Studio Common7IDEExtensionsMicrosoftPython Tools for Visual Studio
- принимает одно из этих значений: is:
- 14.0 for Visual Studio 2015 14.0 for Visual Studio 2015
- 12.0 for Visual Studio 2013 12.0 for Visual Studio 2013
- 11.0 for Visual Studio 2012 11.0 for Visual Studio 2012
- 10.0 for Visual Studio 2010 10.0 for Visual Studio 2010
— это номер версии, например 2.2, 2.1, 2.0, 1.1, 1.5 или 1.0.
is a version number, such as 2.2, 2.1, 2.0, 1.5, 1.1, or 1.0.
Пользовательские установки (для версии 1.5 и более ранних) User-specific installations (1.5 and earlier)
Инструменты Python для Visual Studio 1.5 и более ранних версий можно установить только для текущего пользователя. Путь установки будет выглядеть так: %LocalAppData%MicrosoftVisualStudio ExtensionsMicrosoftPython Tools for Visual Studio . Здесь и имеют то же значение, которое описано выше. Python Tools for Visual Studio 1.5 and earlier allowed installation for the current user only, in which case the installation path is %LocalAppData%MicrosoftVisualStudio ExtensionsMicrosoftPython Tools for Visual Studio
Введение
В данной статье речь пойдет о сборке и установке OpenCV 4 для C/C++, Python 2 и Python 3 из исходных файлов с дополнительными модулями CUDA 10 на ОС Windows.
Я постарался включить сюда все тонкости и нюансы, с которыми можно столкнуться в ходе установки, и про которые не написано в официальном мануале.
Сборка тестировалась для:
- Windows 8.1 + Visual Studio 2017 + Python 2/3 + CUDA 10.0 + GeForce 840m
- Windows 10 + Visual Studio 2019 + Python 2/3 + CUDA 10.0 + GeForce GTX 1060
Внимание! Сборка не подойдет для версии OpenCV 4.0.1 и/или CUDA ниже 10-й версии. CUDA 9 и ниже поддерживается OpenCV 3.
Что потребуется для установки
В моей сборке использовались следующие инструменты:
- CMake 3.15
- MS Visual Studio 2019 64-бит + средства CMake С++ для Windows
- Python 3.7.3 64-бит + NumPy 64-бит
- Python 2.7.16 64-бит + NumPy 64-бит
- CUDA 10.0
- CuDNN 7.6.2
- OpenCV 4.1.1 и OpenCV-contrib-4.1.1
Установка
Так как установка производится через консольные команды, то следует внимательно и аккуратно выполнять все шаги. Также, при необходимости, меняйте установочные пути на свои.
Для начала необходимо установить требуемое ПО, причем Visual Studio должна быть установлена до CUDA:
- CMake (версия >= 3.9.1)
- MS Visual Studio
- Python 3.7 (дистрибутив Anaconda3)
- CUDA 10.0
- CuDNN 7.6.2
После установки всех компонент убедитесь, что пути для CMake, Visual Studio, Python, CUDA, CuDNN прописаны в переменных PATH, PYTHONPATH, CUDA_PATH и cudnn соответственно.
Далее загружаем архивы исходников opencv-4.1.1 и opencv-contrib-4.1.1 в желаемое место (в моем случае это C:OpenCV).
Создаем папку build/ внутри opencv-4.1.1.
Далее сгенерируем файлы сборки с помощью cmake. Мы будем использовать консольный вариант cmake, так как cmake-gui путает типы некоторых переменных (например, OPENCV_PYTHON3_VERSION) и, как следствие, неправильно генерирует файлы.
Открываем консоль по пути C:OpenCV и прописываем переменные.
Примечание. Для Visual Studio 2017 генератор пишется как «Visual Studio 15 2017 Win64» и без флага -A.
Также можно явно указать питоновские библиотеки для python 2 и python 3 на случай, если сборщик не сможет найти их автоматически.
Примечание. Обратите внимание на то, что библиотека NumPy должна быть той же разрядности, что и OpenCV. Проверить это легко:
Выполняем генерацию файлов сборки с помощью длинной команды ниже. При неудачной генерации или наличии ошибок после выполнения команды, повторную генерацию следует производить вычистив все файлы в build/ и .cache/.
- BUILD_opencv_world – необязательный модуль, содержащий копии всех выбранных в ходе установки библиотек. Удобен при разработке на C++, так как вместо подключения кучи зависимостей opencv можно подключить одну зависимость opencv_world411.lib в проект
- INSTALL_EXAMPLES/INSTALL_TESTS – установка примеров/тестов кода opencv
- CUDA_FAST_MATH, WITH_CUBLAS – дополнительные модули для CUDA, призванные ускорить вычисления
- CUDA_ARCH_PTX – версия PTX инструкций для улучшения производительности вычислений
- OPENCV_EXTRA_MODULES_PATH – путь до дополнительных модулей из opencv-contrib (обязательно для CUDA)
- BUILD_PROTOBUF – для работы некоторых модулей opencv необходим Protobuf (сборщик opencv в любом случае поставит BUILD_PROTOBUF=ON)
Спустя примерно 10 минут в консоле должна появиться информация о сборке и завершающие строки «Configuring done» и «Generating done». Проверяем всю информацию, особенно разделы NVIDIA CUDA, Python 2, Python 3.
Далее собираем решение. На сборку может уйти несколько часов в зависимости от вашего процессора и версии Visual Studio.
После успешной установки создаем системную переменную OPENCV_DIR со значением C:OpenCVopencv-4.1.1uildinstallx64vc15in и также добавляем ее в PATH.
Проверим работоспособность OpenCV с модулем CUDA на простом примере умножения матриц.
- Установить тип сборки Release/x64 (для Debug следует собрать OpenCV с флагом Debug)
- Project Properties → C/C++ → General → Добавить строку «C:OpenCVopencv-4.1.1uildinstallinclude» в Additional Include Directories
- Project Properties → Linker → General → Добавить строку « C:OpenCVopencv-4.1.1uildinstallx64vc16lib» в Additional Library Directories
- Project Properties → Linker → General → Добавить «;opencv_world411.lib» («;opencv_world411d.lib» для Debug) в конец Additional Dependencies
Пример на Python 3
Вывод в консоли
Вывод в консоли
Удаление
Чтобы удалить OpenCV, нужно выполнить команду.
и удалить системную переменную OPENCV_DIR и убрать путь до OpenCV из PATH.
Заключение
В статье мы рассмотрели установку OpenCV 4 для ОС Windows 10. Данный алгоритм тестировался на Windows 8.1 и Windows 10, но, в теории, может собираться и на Windows 7. За дополнительной информацией можно обратиться к списку источников ниже.