Установка OpenCV 3 в Windows

Большинство мануалов в интернетах предлагают собрать opencv самостоятельно. Это процесс не быстрый да и требует некоторых умений.
Гораздо проще воспользоваться готовой сборкой библиотеки.
Обратите внимание, что так Вы не сможете использовать статическую библиотеку. В поставке для Windows таковые отсутствуют. Их можно только собрать самостоятельно.
Но какая нам разница. Мы будем пользоваться собранной DLL, которую не нужно собирать.

Как установить OpenCV в Windows

Сперва качаем «opencv for windows» с сайта opencv.org.
Запускаем архив (он в формате exe. самораспаковывающийся). Распаковываем в диск C.

Распаковка Opencv

Теперь идем в Мой компьютер — Свойства — Дополнительные параметры системы — Переменные среды
Создаем переменную OPENCV_DIR:

C:\opencv\build\x64\vc14

Переменная среды Opencv

Теперь добавляем opencv в системный путь. Редактируем переменную PATH:

%OPENCV_DIR%\bin

Path Opencv

Готово!

Как создать проект Visual Studio с OpenCV

Создаем новый проект — Win32 Console Application.

Проект Visual Studio для Opencv

Жмем Finish, можно конечно понастраивать, но мы этого делать не будем.

Проект Visual Studio для Opencv

Идем в настройки проекта — Project — Properties.
Переключаем в верхней части окна Platforms в положение All Platforms.
Выбираем в левом столбце C/C++ — General.
Добавляем путь к заголовкам opencv — Additional Include Directories.

$(OPENCV_DIR)\..\..\include

Настройки проекта Visual Studio для Opencv

Переходим в настройки компановщика — Linker — General.
Здесь указываем путь к файлам lib opencv.

$(OPENCV_DIR)\lib

Настройки компановщика Visual Studio для Opencv

Добавляем DLL opencv как зависимость.
Переходим в Linker — Input и добавляем в поле Additional Dependencies:

opencv_world310.dll

или debug версию

opencv_world310d.dll

Настройки проекта Visual Studio для Opencv

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

// OpencvApplication.cpp : Defines the entry point for the console application.
//

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
        if (argc != 2)
        {
                cout << " Usage: display_image ImageToLoadAndDisplay" << endl;
                return -1;
        }

        Mat image;
        image = imread(argv[1], IMREAD_COLOR); // Read the file

        if (!image.data) // Check for invalid input
        {
                cout << "Could not open or find the image" << std::endl;
                return -1;
        }

        namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
        imshow("Display window", image); // Show our image inside it.

        waitKey(0); // Wait for a keystroke in the window
        return 0;
}

Эта программа в качестве параметра использует параметр командной строки — имя файла изображения.
Укажем его. Переходим в Project Properties — Debugging.
Указываем имя файла в строке Command Arguments.

Параметр командной строки

Компилируем. Запускаем.

Приложение OpenCV в Visual Studio

Радуемся. Мы собрали наше первое 64 битное Windows приложение OpenCV в Visual Studio.

Скачать проект

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий

  1. Aiganym

    У меня при компиляции выводится ошибка "не удается открыть файл "opencv_world310d.lib"" Что мне делать? как исправить ошибку? можете помочь

    Ответить
  2. Гость

    С более новой версией я сделал след образом

    в свойства-> Компоновщик->ввод добавил полный путь

    C:\openCV341\opencv\build\x64\vc15\lib\opencv_world341.lib

    +

    в настройках до этого были другие подключённые dll, я их убрал

    Ответить
  3. Peter

    Подскажите, что делать в случае такой ошибки (сам компьютер — х64): Ошибка LNK1112 тип компьютера модуля "x64" противоречит типу целевого компьютера "x86"

    Ответить