Как добавить opencv в visual studio
Перейти к содержимому

Как добавить opencv в visual studio

  • автор:

Установка OpenCV под Windows

В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации

  1. git clone https://github.com/opencv/opencv.git
  2. cmake-gui
  3. configure
  4. Выбор путей и компилятора
  5. Выбор компонент
  6. configure
  7. generate
  8. build all (Debug | Release)
  9. build INSTALL (Debug | Release)
  10. Установить OpenCV_DIR на папку build
  11. Добавить в path для всех пользователей папку build/install/. /bin

Вспомогательное ПО

Для дальнейших действий Вам потребуется:

  • git
  • cmake
  • Microsoft Visual Studio
  • права администратора
  • Около 10Гб свободного места (может больше, в зависимости от задачи)
  • Около 2х часов времени на сборку

Если чего-то из этого не хватает — можете посмотреть другие способы установки в официальной документации Выше.

Установка

  1. Если Вы никогда не пытались ставить OpenCV, пропустите этот шаг. Убедитесь, что у Вас нет следов предыдущей версии OpenCV, в переменнных окружения нет OpenCV_DIR и подобных, а в переменная path не содержит ничего связанного с opencv
  2. Клонировать репозиторий:
    1. Для этого нужно создать папку (недалеко от корня диска), без пробелов и на английском языке.
    2. Открыть в ней консоль или git bash
    3. Прописать git clone.

    В этой статье далее будет использоваться путь С:\OpenCV\opencv

  3. Запустить cmake-gui Выбрать папку с клонированным репозиторием и папку, в который будет помещён сконфигурированный проект Лирическое отступление: cmake — система управления сборкой проекта. OpenCV — болшой проект, содержащий множество подпроектов, компонент. С помощью cmake мы определяем, какие именно подпроекты нам нужны, каким компилятором их собирать, под какую платформу.
  4. Нажать Configure и выбрать компилятор
  5. Выбрать необходимые компоненты Здесь лучше руководствоваться названием компонент, Вашими целями и здравым смыслом. По умолчанию будет предложена наиболее полная рабочая сборка, однако исходя из целей, многие вещи можно исключить. Например, есть блоки компонент, которые отвечают за интеграцию в java и python. Есть блоки компонент, содержащие нейросетевую обработку, они оканчиваются на «nn». Есть компоненты для открытия разных форматов изображений, соответственно, часть из них можно отключть. Однако, компоненты core, highgui, world, imgproc вероятнее всего понадобятся. Компоненты без группировкиКомпоненты после группировки.В оригинальной статье есть рекомендации по выбору компонент. Чтобы получить такое отображение, необходимо в cmake-gui поставить галочку grouped. Я отмечу лишь два из них:
    • BUILD_SHARED_LIBS -> включаем сборку динамических библиотек. Особенно нужно, если планируется несколько проектов с OpenCV.
    • BUILD_opencv_world -> объединение всех выбранных компонент в одну библиотеку opencv_world.
  6. Переконфигурировать проект: снова нажимаем Configure
  7. Если ошибок нет, то нажимаем Generate. Если есть, гуглим и играемся с компонентами, пока не исчезнут. После каждого изменения в компонентах — переконфигурируем.
  8. Открываем решение в Visual Studio (рядом с Generate — OpenProject, либо соответствующий sln в папке build)
  9. Выставляем конфигурацию Debug
  10. Собираем всё решение (Ctrl+Shift+B). Запаситесь терпением — у меня на этот шаг ушло около 40 минут.
  11. Выставляем конфигурацию Release и снова собираем всё (ещё 40 минут)
  12. Выделяем проект INSTALL. Через меню в правой кнопке мыши собираем только его. Опять в двух вариантах: Debug и Release. (на этот раз всё быстро) Лирическое отступление: По сути этот проект лишь перемещает ранее собранные библиотеки в одну папку с названием install внутри нашей сборки. Это поможет найти все библиотеки в одном месте. На этом непосредственно сборка библиотеки OpenCV закончена. Однако для запуска проекта нужно ещё немного подшаманить.

Подготовка к запуску

Создадим проект cmake с помощью Visual Studio. В качестве примера взят проект из того же репозитория. Для работы создайте в папке с проектом любую картинку и назовите её «starry_night.jpg»

# CMakeList.txt: проект CMake для Project; включите исходный код и определения, # укажите здесь логику для конкретного проекта. # cmake_minimum_required (VERSION 3.8) # Добавьте источник в исполняемый файл этого проекта. add_executable (Project "main.cpp" "main.h") # TODO: Добавьте тесты и целевые объекты, если это необходимо. find_package(OpenCV REQUIRED) target_link_libraries(Project $)
//! [includes] #include #include #include #include using namespace cv; //! [includes] int main() < //! [imread] std::string image_path = samples::findFile("starry_night.jpg"); Mat img = imread(image_path, IMREAD_COLOR); //! [imread] //! [empty] if(img.empty()) < std::cout //! [empty] //! [imshow] imshow("Display window", img); int k = waitKey(0); // Wait for a keystroke in the window //! [imshow] return 0; >

Если сейчас запустить — начего не сработает, cmake не найдёт OpenCV. Чтобы это исправить, нужно завести переменные окружения

  1. Открыть консоль, прописать
setx OpenCV_DIR C:\OpenCV\build

Либо зайти в настройки windows, найти «переменные окружения», и вручную создать переменную OpenCV_DIR, указывающую на папку сборки.

    Добавить в переменную path для всех пользователей путь до динамических библиотек dll. Искать их следует внутри папки install, в моём случае это:

C:\OpenCV\build\install\x64\vc16\bin

После этого проект должен успешно собраться, и Вы увидите свою картинку. Или не увидите, если не положили её рядом к поекту. Но в любом случае, библиотека OpenCV прилинкована, спасибо за внимание!

  • opencv
  • computer vision
  • компьютерное зрение
  • установка

Добавление OpenCV 4.2.0 в проект Visual Studio 2019 в Windows с использованием предварительно созданных двоичных файлов

Примечание : это обновление из предыдущего руководства о том, как добавить OpenCV 4.1.2 в Visual Studio 2019 в Windows. Если вам нужно добавить OpenCV 4.1.2, обратитесь к предыдущему посту .

Официальная документация для OpenCV 4.2.0 по-прежнему имеет сильно устаревшее содержание по настройке OpenCV в Visual Studio (для C ++). Итак, давайте кратко рассмотрим, как настроить OpenCV 4.2.0 в Visual Studio 2019.

Окружающая обстановка

  • Windows 10 (64-битная)
  • Visual Studio 2019

Чтобы использовать OpenCV с Visual Studio 2019 (используя C ++), обязательно выберите Desktop development with C ++ во время установки Visual Studio.

Загрузите последнюю версию двоичного файла из репозитория opencv на Github. Последняя версия по состоянию на 25 декабря 2019 г. (всех с Рождеством) — 4.2.0 (opencv-4.2.0-vc14_vc15.exe). Файлы выпуска для 4.2.0 перечислены наhttps://github.com/opencv/opencv/releases/tag/4.2.0.

Страница выпуска GitHub

Запустите загруженный .exe файл, чтобы распаковать архив.

В целях единообразия в этом руководстве предполагается, что вы извлекли содержимое в c:\ . Если вы хотите использовать другой путь, это нормально. Вам просто нужно настроить пути в следующих разделах этого сообщения.

Распаковать в C: \

Извлеченный OpenCV toC: \

Общий извлеченный размер будет около 1,2 ГБ. Убедитесь, c:\ что у вас есть новая opencv папка.

Шаг 2: Добавить в путь

Добавьте bin каталог opencv в путь. Если вы распаковали загруженный .exe файл c:\ , путь к bin каталогу должен быть c:\opencv\build\x64\vc15\bin .

Добавить в путь

Шаг 3. Создайте проект в Visual Studio 2019

На этом этапе мы создаем новый проект в Visual Studio 2019. Обратите внимание, что настройки, которые мы установили ниже, применяются только к новому проекту. Если вы создаете новый проект, вам нужно будет повторить шаги, указанные ниже.

Сначала выберите Создать новый проект .

Создать новый проект

На следующей странице выберите Консольное приложение . Обратите внимание, что у вас может быть несколько вариантов консольных приложений (.NET Core, .NET Framework и т. Д.). Выберите без скобок. Он также должен иметь C++ , Windows , Console тег.

Выберите «Консольное приложение»

Подождите, а что, если я не вижу опцию «Консольное приложение» на предыдущем шаге?

Если вы не видите опцию «Консольное приложение» в окне «Создать новый проект», возможно, вы не установили необходимые компоненты для разработки на C ++.

Нажмите « Установить дополнительные инструменты и функции» и установите « Разработка рабочего стола с модулем рабочей нагрузки C ++ ».

Если вы не видите шаблон проекта, нажмите Установить дополнительные инструменты и функции.

Установите настольную разработку с модулем рабочей нагрузки C ++

Настройте свой проект и продолжайте. Вы можете назвать проект как хотите.

Настроить проект

Окно нового проекта

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

  • Установить целевую платформу на x64 — готовые двоичные файлы создаются для платформ x64 Windows.
  • Добавить в каталоги включения — сообщить компилятору, как выглядит библиотека OpenCV . Это делается путем build/include указания пути к файлам заголовков ( ) .¹
  • Добавить в каталоги библиотеки — сообщите компоновщику, где он может найти файлы библиотеки для различных модулей.
  • Добавить дополнительные зависимости — список .lib файлов для разных модулей. Обратите внимание, что мы собираемся перечислить только один файл «все в одном» с именем opencv_world .

Установите целевую платформу на x64

Теперь перейдите в меню ProjectYourProjectName Properties.

Свойства проекта

Когда откроется новое окно, выберите слева страницу каталогов VC ++ и щелкните строку « Включить каталоги». Как только вы увидите стрелку вниз в самой правой части строки, щелкните стрелку и выберите .

Вкладка «Каталоги VC ++»

В окне « Включить каталоги» добавьте c:\opencv\build\include .

Добавьте c: \ opencv \ build \ include

Щелкните ОК. На той же вкладке найдите каталоги библиотеки . Снова щелкните стрелку вниз и выберите .

Опять же, на вкладке Каталоги VC ++, но другой элемент

Добавьте c: \ opencv \ build \ x64 \ vc15 \ lib

Вкладка Каталоги VC ++ должна выглядеть следующим образом:

Пришло время перечислить зависимости модуля. Как упоминалось выше, мы собираемся добавить только один универсальный модуль с именем opencv_world .

Компоновщик — Вход — Дополнительные зависимости

Добавить opencv_world420d.lib

Вкладка Linker должна выглядеть следующим образом:

Теперь мы должны быть готовы написать код OpenCV и увидеть его в действии.

Шаг 4: Посмотрите демонстрационный код!

Скопируйте и вставьте приведенный ниже код и нажмите F5 для запуска (или нажмите кнопку «Выполнить» с надписью «Локальный отладчик Windows».

Код

Окно результатов

Ну вот. Удачи с OpenCV.

Но подождите — у меня все еще проблемы!

Пожалуйста, внимательно просмотрите предыдущие шаги, чтобы увидеть, не допустили ли вы опечатку или пропустили шаг.

Кроме того, если вы получаете ошибку сборки с сообщением «LNK 1104: не удается открыть файл ‘opencv_world4xxd.lib’, перейдите в каталог lib по адресу, C:\opencv\build\x64\vc15\lib чтобы проверить, существует ли файл opencv_world420d.lib . Если это так, убедитесь, что имя файла соответствует дополнительной зависимости, которую мы добавили в Linker Inputs.

Возможное сообщение об ошибке, с которым вы можете столкнуться

Проверить имя файла

Проверьте, соответствует ли имя файла дополнительной зависимости, которую мы добавили ранее

Если у вас возникнут другие проблемы, дайте мне знать.

[1]: Документация OpenCV. Как создавать приложения с OpenCV внутри «Microsoft Visual Studio»

How to add OpenCV files in Visual Studio

I am working on a project related to Image Processing and I have to use OpenCV in it. I am new to it and don’t know how to add the OpenCV files in Visual Studio?

asked Sep 14, 2018 at 8:00
19 5 5 bronze badges

2 Answers 2

among many methods i’ve tried this link is so simple and clear ( few steps 4-5), it works fine for me, visual studio 2022 & opencv4.6.0 here

  • download the version you want (.exe file) here
  • let’s assume that you’ve extracted the contents to c:\
  • Add opencv’s bin directory (C:\opencv\build\x64\vc15\bin) to path
  • Set platform target to x64 — Pre-built binaries are built for x64 Windows platforms.
  • Add to Include Directories : Tell the compiler how the OpenCV library looks. This is done by providing a path to the header files
  • Add to Library Directories : Tell the linker where it can find the lib files for different modules.
  • Add Additional Dependencies : List .lib files for different modules. Note that we’re only going to list a single all-in-one file named opencv_world.

answered Dec 22, 2022 at 12:18
Anass Maourid Anass Maourid
31 3 3 bronze badges

While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. — From Review

Code OpenCV in Visual Studio

In this article, we explain how to build applications with OpenCV using Visual Studio. We will be using Visual Studio 16 2019.

If you write code on Windows, there is a high probability that you work on Visual Studio. It is used to develop computer programs, websites, web apps, web services, and mobile apps.

  1. Step 0: Prerequisites
  2. Step 1: Create an Empty C++ Project
  3. Step 2: Add a new C++ file to project
  4. Step 3: Setup Solution Platform
  5. Step 4: Set Additional Include Directories
  6. Step 5: Set Additional Library Directories
  7. Step 6: Set Additional Dependencies
    1. Debug
    2. Release

    Step 0: Prerequisites

    Throughout the post, we assume that you have installed Visual Studio 16 2019, and have installed OpenCV 4.5.0 in C:\ using the installers. If you have any problems with the OpenCV installation, please check the earlier post.

    Step 1: Create an Empty C++ Project

    Play Video

    First, we start by opening Visual Studio and creating an empty Windows console project.

    1. Start Visual Studio
    2. Click on Create a new project
    3. Select Empty Project and click on Next
    4. Specify Project Name and Project Location
    5. Click Create

    Step 2: Add a new C++ file to project

    Play Video

    We can now start adding new .cpp files or import existing code.

    1. Right-click on Source Files, then click on Add → New Item
    2. Click on C++ File (.cpp), specify Name and Location of the cpp file and click Add

    Step 3: Setup Solution Platform

    Play Video

    The files which we have provided work for x64 configuration.

    1. Set Solution Platform as x64
    2. Right-click on Project and click Properties

    Master Generative AI for CV

    Get expert guidance, insider tips & tricks. Create stunning images, learn to fine tune diffusion models, advanced Image editing techniques like In-Painting, Instruct Pix2Pix and many more

    Step 4: Set Additional Include Directories

    Play Video

    We give paths to the OpenCV header files. This will, in turn, tell the compiler how the OpenCV library looks.

    1. Set All Configuration and x64 Platform
    2. Go to C/C++ → General → Additional Include Directories and Click Edit
    3. Browse to add folders
    4. Navigate and select the OpenCV include folder
    5. Click OK and then Click Apply

    Step 5: Set Additional Library Directories

    Play Video

    Now we give paths to the OpenCV library files. This will tell the linker where to get the functions or data structures of OpenCV when needed.

    1. Set All Configuration and x64 Platform
    2. Go to Linker → General → Additional Library Directories and Click Edit
    3. Browse to add folders
    4. Navigate and select the OpenCV lib folder
    5. Click OK and then Click Apply

    Step 6: Set Additional Dependencies

    We need to list the .lib files for the modules which will be used.

    Debug

    Play Video

    1. Set Configuration to Debug and x64 Platform
    2. Go to Linker → Input → Additional Dependencies and Click Edit
    3. Specify the list of all lib file for Debug Mode
      • If you have installed OpenCV using the Installers, you will find the list of additional dependencies for Debug mode in the root of your OpenCV installation (debug_files_list.txt)
      • If not, you will have to type all the library files names in the text box
    4. Click OK then Click Apply

    Release

    Play Video

    1. Set Configuration to Release and x64 Platform
    2. Go to Linker → Input → Additional Dependencies and Click Edit
    3. Specify the list of all lib files for Release Mode
      • If you have installed OpenCV using the Installers, you will find the list of additional dependencies for Release mode in the root of your OpenCV installation (release_files_list.txt)
      • If not, you will have to type all the library files names in the text box
    4. Click OK then Click Apply

    Step 7: Set Environment

    • You don’t have to do this step if you have used OpenCV installers. This step is required if you have installed OpenCV from source.

    Play Video

    1. Set All Configuration and x64 Platform
    2. Go to Configuration Properties → Debugging → Environment and Edit the field
    3. Specify the address to the OpenCV bin folder containing all .dll files, by entering the following value in Environment field
    PATH=C:\OpenCV\x64\vc16\bin;%PATH%
    1. Click Apply then Click OK

    Step 8: Implement the Project

    Play Video
    Below is a sample code to test whether your project is configured correctly.

    #include #include using namespace std; using namespace cv; int main()

    Step 9: Build and Run the Project

    Play Video

    1. Select your choice of Solution Configuration
    2. Build the project by pressing Ctrl+B or navigate to Build → Build opencv_example_project
    3. To run the project With/Without Debugging press F5/Ctrl+F5 , or Navigate to Debug → Start Debugging/Debug → Start Without Debugging

    Summary

    In this post, we learned how to configure a Visual Studio project to use OpenCV. First we set the Additional Include Directories, which is required for the #include commands- this tells the compiler how the OpenCV library looks. We also set Additional Library Directories- which tells the linker where to get the required OpenCV functions and data structures from. We configured Additional Libraries for Debug and Release mode separately. Finally, we learned how to set the path environment variable for the .dll files and build and run the code.

    Subscribe & Download Code

    If you liked this article and would like to download code (C++ and Python) and example images used in this post, please click here. Alternately, sign up to receive a free Computer Vision Resource Guide. In our newsletter, we share OpenCV tutorials and examples written in C++/Python, and Computer Vision and Machine Learning algorithms and news.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *