Как собрать opencv под Windows: подробная инструкция
OpenCV — это открытая библиотека компьютерного зрения, которая позволяет разработчикам реализовывать сложные алгоритмы обработки изображений и распознавания объектов. Она является одним из самых популярных инструментов для работы с изображениями в мире компьютерного зрения. Установка и настройка OpenCV на Windows — важный шаг для тех, кто хочет начать использовать эту мощную библиотеку.
Процесс установки и настройки OpenCV на Windows может быть сложным, особенно для новичков. В этой статье мы рассмотрим шаг за шагом, как правильно установить и настроить OpenCV на вашей системе. Мы охватим все необходимые материалы, начиная с загрузки библиотеки до ее итоговой настройки и проверки работоспособности.
На протяжении всего процесса установки и настройки OpenCV на Windows мы будем использовать простую и понятную методику, которая поможет вам разобраться и успешно освоить данную тему. Установка и настройка OpenCV может показаться сложной задачей, но с нашей помощью вы сможете справиться с ней легко и быстро.
Корректная установка и настройка OpenCV на Windows — это важный этап для успешной работы с компьютерным зрением. Следуйте нашим инструкциям, чтобы настроить OpenCV на вашей системе и начать использовать все возможности этой мощной библиотеки.
Установка и настройка OpenCV на Windows
Шаг 1: Скачивание и установка CMake
Первым шагом в установке OpenCV является скачивание и установка программы CMake. CMake является инструментом, который позволяет генерировать проекты исходного кода OpenCV для выбранной среды разработки.
- Перейдите на официальный сайт CMake и скачайте установочный файл для вашей версии Windows.
- Запустите установочный файл и следуйте инструкциям мастера установки.
Шаг 2: Скачивание и извлечение исходных кодов OpenCV
После установки CMake, вы можете перейти к скачиванию исходных кодов OpenCV.
- Перейдите на официальный сайт OpenCV и скачайте последнюю версию OpenCV в формате .zip.
- Распакуйте скачанный архив в удобную для вас директорию.
Шаг 3: Генерация проекта с помощью CMake
Теперь вы можете использовать CMake для генерации проекта OpenCV для среды разработки, которую вы используете.
- Запустите CMake GUI.
- В поле «Source code» выберите директорию, в которую вы распаковали исходные коды OpenCV.
- В поле «Build the binaries» выберите или создайте директорию, в которой будут сгенерированы файлы проекта.
- Нажмите кнопку «Configure» и выберите среду разработки, которую вы используете.
- Нажмите кнопку «Generate» для генерации файлов проекта.
Шаг 4: Установка OpenCV
После генерации файлов проекта вы можете перейти к установке OpenCV в вашу среду разработки.
- Откройте файл проекта средой разработки.
- Соберите проект, чтобы скомпилировать исходные коды OpenCV.
- После успешной компиляции у вас должны появиться библиотеки OpenCV.dll и OpenCV.lib.
- Настройте вашу среду разработки так, чтобы она знала о местоположении библиотек OpenCV.
- Готово! Теперь вы можете использовать OpenCV в своих проектах.
Теперь, когда вы успешно установили и настроили OpenCV на Windows, вы можете начать использовать его для обработки изображений и видео. Удачи!
Скачать и установить Visual Studio
Шаги по установке Visual Studio:
- Откройте веб-браузер и перейдите на официальный сайт Visual Studio: https://visualstudio.microsoft.com/.
- На сайте выберите необходимую версию Visual Studio для загрузки. Рекомендуется выбрать последнюю стабильную версию.
- Нажмите на кнопку «Загрузить», чтобы начать загрузку установщика.
- Запустите установочный файл и следуйте инструкциям мастера установки.
- В процессе установки вам могут быть предложены различные компоненты и настройки. Рекомендуется выбрать разработку на платформе «Desktop development with C++», чтобы иметь возможность разрабатывать и компилировать программы на языке C++. Вы также можете выбрать другие необходимые компоненты в зависимости от ваших потребностей.
- После завершения установки запустите Visual Studio.
Теперь вы установили Visual Studio на свой компьютер и готовы переходить к следующему шагу — установке и настройке OpenCV.
Загрузить и установить CMake
Вы можете загрузить CMake с официального сайта: https://cmake.org/download/.
На странице загрузки выберите версию CMake, соответствующую вашей операционной системе (в данном случае Windows) и скачайте установочный файл .msi.
После завершения загрузки установите CMake, запустив скачанный установочный файл и следуя инструкциям мастера установки.
При установке выберите пункт «Добавить CMake в PATH» для автоматического добавления CMake в системную переменную PATH. Это позволит использовать CMake из командной строки без необходимости указывать полный путь к исполняемому файлу.
После завершения установки вы можете проверить, установлен ли CMake, открыв командную строку и запустив команду:
cmake --version
Если CMake успешно установлен, вы увидите информацию о версии CMake в командной строке.
Скачать и установить библиотеку OpenCV
Для того чтобы начать работать с библиотекой OpenCV на Windows, необходимо сначала скачать и установить ее на ваш компьютер. В данном разделе мы рассмотрим этот процесс шаг за шагом.
1. Перейдите на официальный сайт OpenCV по адресу https://opencv.org/.
2. На главной странице сайта найдите раздел «Download OpenCV» и выберите соответствующую версию библиотеки для Windows.
3. После выбора версии вас перенаправят на страницу со списком доступных загрузок для выбранной платформы. Здесь вам необходимо выбрать подходящий пакет для загрузки.
4. Откроется страница загрузки, на которой вы можете выбрать одну из предложенных опций. Рекомендуется выбрать предварительно собранную библиотеку (Pre-built) для вашей операционной системы.
5. После выбора нужной опции нажмите на ссылку для загрузки архива с библиотекой OpenCV.
6. Когда загрузка завершится, найдите скачанный архив и распакуйте его в удобную для вас директорию.
7. Теперь, когда у вас есть распакованная папка с OpenCV, вам нужно установить ее в систему. Для этого нужно добавить путь к папке с OpenCV в переменную среды PATH.
8. Чтобы добавить путь к папке с OpenCV в переменную среды PATH, выполните следующие действия:
- Откройте «Панель управления» и найдите в ней раздел «Система».
- В открывшемся окне выберите вкладку «Дополнительные параметры системы».
- Нажмите на кнопку «Переменные среды».
- В разделе «Переменные системы» найдите переменную «Path» и дважды кликните по ней.
- В открывшемся окне нажмите на кнопку «Добавить» и введите в поле путь к папке с OpenCV. Например: «C:\opencv\build\bin».
- Подтвердите все изменения, нажав на кнопки «ОК».
Поздравляем, вы успешно скачали и установили библиотеку OpenCV на ваш компьютер! Теперь вы можете приступить к использованию ее функций и возможностей в своих проектах.
Примечание: Установка OpenCV завершена, но это может быть только первый шаг в использовании библиотеки. Чтобы использовать OpenCV в программировании на Windows, вам также потребуется настроить окружение разработки и подключить библиотеку к вашему проекту. Для этого рекомендуется ознакомиться с документацией OpenCV и руководством по установке библиотек на выбранной вами платформе.
Создать проект в Visual Studio
Перед началом работы с OpenCV в операционной системе Windows необходимо создать проект в Visual Studio. Для этого следуйте указанным ниже инструкциям:
Шаг 1 | Запустите Visual Studio и откройте ранее созданное или новое пустое решение (Solution). |
Шаг 2 | В меню выберите Файл, затем Новый и перейдите во вкладку Проект. |
Шаг 3 | В открывшемся окне выберите тип проекта, например, Консольное приложение или Приложение Windows. Укажите имя проекта и путь к сохранению. |
Шаг 4 | Настройте параметры проекта, если необходимо, и нажмите кнопку ОК. |
После выполнения этих шагов проект будет создан и готов к работе с OpenCV.
Импортировать библиотеку и настроить пути
Перед тем, как начать использовать OpenCV на Windows, вам необходимо импортировать библиотеку и настроить пути, чтобы ваш компилятор мог найти и использовать необходимые файлы.
Чтобы импортировать библиотеку OpenCV, вы можете использовать директиву #include в своем коде:
#include
Эта директива говорит компилятору, что вы хотите использовать функции и классы из библиотеки OpenCV.
После импортирования библиотеки необходимо настроить пути, чтобы ваш компилятор мог найти необходимые файлы. Для этого вы можете использовать следующую директиву:
#pragma comment(lib, "opencv_world****.lib")
Где **** — это номер версии вашей установленной библиотеки OpenCV, например, если у вас установлена версия OpenCV 4.5.2, то директиву следует указать как:
#pragma comment(lib, "opencv_world452.lib")
Эта директива сообщает компилятору, какую версию библиотеки OpenCV использовать.
После того, как вы импортировали библиотеку и настроили пути, вы готовы начать использовать OpenCV в своем проекте на Windows.
Написать и запустить тестовый код
После успешной установки и настройки OpenCV на Windows, вам будет доступна функциональность библиотеки для разработки своих приложений. Чтобы убедиться, что OpenCV работает корректно, можно написать и запустить небольшой тестовый код.
Вот пример простого кода на языке C++, который демонстрирует базовую функциональность OpenCV:
- Подключите необходимые заголовочные файлы:
- #include
- Используйте пространство имён cv :
- using namespace cv;
- Напишите функцию main() :
- int main()
- Создайте объект класса Mat (матрица), чтобы представить изображение:
- Mat image;
- Загрузите изображение из файла:
- image = imread(«path/to/image.jpg»);
- Если изображение успешно загружено, отобразите его на экране:
- if (image.empty())
- std::cout
- return -1;
- >
- imshow(«Image», image);
- waitKey(0);
- Завершите функцию main() :
- return 0;
- >
Сохраните этот код в файле с расширением .cpp . Затем скомпилируйте и запустите его с помощью компилятора C++ (например, g++ или Visual Studio) и убедитесь, что изображение успешно загружено и отображается на экране.
Таким образом, вы можете написать и запустить тестовый код с использованием OpenCV на Windows. Если код работает без ошибок, это означает, что библиотека успешно установлена и настроена.
Проверить работоспособность OpenCV
После установки и настройки OpenCV на Windows, важно проверить его работоспособность. Для этого можно выполнить следующие шаги:
- Открыть среду разработки (например, Visual Studio) и создать новый проект.
- Создать новый исходный файл и добавить следующий код:
#include int main() cv::imshow("Image", image);cv::waitKey(0);return 0;>
Обратите внимание, что вместо «image.jpg» нужно указать путь к реальному изображению на вашем компьютере.
- Скомпилировать и запустить программу.
Если вы все сделали правильно, то должно появиться окно с загруженным изображением. Если окно не появляется или выводится сообщение «Failed to load image», то возможно есть проблемы с установкой или настройкой OpenCV.
Вам также может понравиться
Отношения Руси с Византией: история и значение
Взаимоотношения Руси и Византии занимают важное место в истории двух великих государств. Эта историческая связь простирается на протяжении многих.
Как увеличить емкость аккумулятора для шуруповерта
Шуруповерт — это незаменимый инструмент для проведения строительных и ремонтных работ. Однако, как и любое электроинструментов, он нуждается в.
Как построить план дома в Архикаде
ArchiCAD – современное программное обеспечение для архитекторов и дизайнеров, которое позволяет создавать трехмерные модели и планы зданий с высокой.
Создание Excel файла в программе 1С
1С – это популярная система учета и автоматизации бизнес-процессов, широко применяемая в офисах и предприятиях различных отраслей. Среди функционала.
- Обратная связь
- Пользовательское соглашение
- Политика конфиденциальности
Установка OpenCV Python на Windows
OpenCV (Open Source Computer Vision Library) — это библиотека компьютерного зрения с открытым исходным кодом, разработанная для обработки изображений и видео. Она предоставляет множество функций и алгоритмов для распознавания объектов, сегментации изображений, робастного отслеживания движения и многого другого.
Если вы разрабатываете приложение на Python и хотите использовать возможности компьютерного зрения, то установка OpenCV Python станет необходимым шагом. В этой статье предоставляется подробная инструкция по установке OpenCV Python на операционной системе Windows.
Установка OpenCV Python на Windows может быть немного сложной задачей для новичков, поэтому предлагается следовать этой подробной инструкции. В процессе установки будет рассмотрено установку Python, установка необходимых зависимостей и окончательная установка OpenCV Python.
Заметка: перед началом установки OpenCV Python убедитесь, что у вас уже установлен Python и настроена среда разработки Python, такая как Anaconda или Jupyter Notebook.
Установка OpenCV Python на Windows:
Шаг 1: Установка Python
Первым шагом перед установкой OpenCV Python будет установка Python. Перейдите на официальный сайт Python и загрузите установщик для Windows. Запустите установку, следуя указаниям мастера установки. Важно выбрать опцию добавления Python в системную переменную PATH.
Шаг 2: Установка pip
pip — это инструмент управления пакетами для Python. Он позволяет устанавливать и управлять сторонними пакетами, в том числе и OpenCV. После установки Python проверьте наличие pip, запустив командную строку (cmd) и введя «pip».
Шаг 3: Установка OpenCV
Существует несколько способов установки OpenCV на Windows. Одним из самых простых вариантов является использование команды pip для установки пакета OpenCV-python.
1. Откройте командную строку (cmd).
2. Введите команду «pip install opencv-python».
3. Дождитесь завершения установки. После этого OpenCV успешно установлен и готов к использованию.
Еще одним способом установки OpenCV является сборка из исходного кода. Этот способ требует более продвинутых навыков и знаний в области компиляции программ.
Шаг 4: Проверка установки
Проверьте установку OpenCV, запустив Python интерпретатор или jupyter notebook и импортировав библиотеку:
Если импорт прошел успешно без ошибок, то OpenCV успешно установлен и готов к использованию.
Скачивание OpenCV Python
Для начала установки OpenCV Python на Windows необходимо скачать соответствующий релиз с официального сайта OpenCV. Следуйте этим шагам:
- Откройте браузер и перейдите на сайт https://opencv.org/. Далее выберите раздел «Downloads» в меню навигации сайта.
- На странице загрузок найдите секцию «OpenCV для Python» и выберите последнюю доступную версию OpenCV, совместимую с вашей ОС.
- Нажмите на ссылку скачивания с правой стороны выбранного релиза.
Смотрите также: Установка pip для Python на CentOS
После завершения загрузки вы будете иметь установочный файл OpenCV Python, готовый к использованию в следующем шаге.
Установка Python
Перед установкой OpenCV Python необходимо убедиться, что на вашем компьютере уже установлен Python.
Шаг 1: Проверка наличия Python
Для начала, проверьте, установлен ли Python на вашем компьютере и определите его версию.
- Откройте командную строку Windows. Нажмите на клавиатуре Win + R, затем введите cmd и нажмите Enter.
- В командной строке введите python —version и нажмите Enter.
Если Python уже установлен, вы увидите версию Python в ответе командной строки. Если Python не установлен, вы увидите сообщение об ошибке.
Шаг 2: Скачивание и установка Python
Если Python не установлен, сделайте следующее:
- Откройте веб-браузер и перейдите на официальный веб-сайт Python: https://www.python.org/downloads/.
- На странице загрузки выберите версию Python, совместимую с операционной системой Windows (32-бит или 64-бит) и нажмите кнопку Download.
- Дождитесь завершения загрузки файла установки Python.
- Запустите загруженный файл установки Python и следуйте инструкциям на экране, чтобы установить Python на ваш компьютер.
После завершения установки Python проверьте его работоспособность с помощью командной строки, как показано в шаге 1.
Версия Python | Поддерживаемая версия OpenCV |
---|---|
Python 2.7 | OpenCV 2.x |
Python 3.x | OpenCV 3.x и выше |
Если у вас не установлена поддерживаемая версия Python, вам нужно установить соответствующую версию Python или обновить существующую установку Python.
Установка Visual Studio
Для установки OpenCV на Windows вам понадобится использовать Visual Studio, интегрированную среду разработки от Microsoft. В этом разделе вы узнаете, как установить бесплатную версию Visual Studio Community Edition.
Шаг 1: Скачивание Visual Studio Community Edition
Перейдите на официальный сайт Visual Studio по ссылке: https://www.visualstudio.com/downloads/. На этой странице вы найдете несколько вариантов установки Visual Studio, но мы рекомендуем выбрать Community Edition, так как она бесплатная и содержит все необходимые инструменты для разработки OpenCV.
Смотрите также: Введение в обработку естественного языка (NLP) на языке Python
Нажмите на кнопку «Download Community» и запустите загруженный установочный файл.
Шаг 2: Установка Visual Studio Community Edition
Запустите установочный файл, который вы скачали в предыдущем шаге. В открывшемся окне выберите «Community» в качестве редакции Visual Studio, и нажмите кнопку «Install».
Затем вам будет предложено выбрать компоненты для установки. Убедитесь, что установлены следующие компоненты:
Workloads | .NET desktop development |
Individual components | Python development |
После выбора необходимых компонентов нажмите кнопку «Install» и дождитесь завершения установки Visual Studio.
Поздравляем! Вы успешно установили Visual Studio Community Edition, которая необходима для разработки OpenCV на Windows.
Установка CMake
Шаг 1: Загрузка CMake
Первым шагом необходимо загрузить установочный файл CMake с официального сайта https://cmake.org/download/. Посетите данную страницу и выберите версию CMake для Windows, которая соответствует вашей операционной системе.
Шаг 2: Установка CMake
- Запустите загруженный установочный файл CMake.
- Выберите опцию «Add CMake to the system PATH» для добавления CMake в системную переменную PATH. Это позволит использовать CMake из командной строки без указания полного пути к исполняемому файлу.
- Нажмите «Next» для перехода к следующему шагу.
- Выберите путь для установки CMake или оставьте значение по умолчанию, а затем нажмите «Next».
- Выберите дополнительные компоненты, которые вы хотите установить. Обычно дефолтные настройки достаточны для большинства пользователей.
- Нажмите «Install», чтобы начать установку.
- Дождитесь завершения установки CMake.
- Нажмите «Finish» для закрытия установщика.
После завершения установки CMake вы можете проверить его работу, запустив командную строку и выполнить команду «cmake -version». Если выводится версия CMake, это означает, что установка прошла успешно.
Компиляция и установка OpenCV
Для начала установим все необходимые зависимости. Для этого нам понадобятся:
1. CMake
Вы можете загрузить последнюю версию CMake с официального сайта: https://cmake.org/download/. Выберите соответствующий установщик для вашей операционной системы и запустите его. Убедитесь, что добавили CMake в переменную среды PATH.
2. Anaconda (для установки Python)
Если у вас уже установлен Python, вы можете пропустить этот шаг. В противном случае, вы можете загрузить и установить Anaconda с официального сайта: https://www.anaconda.com/products/individual. Затем установите Python и добавьте его в переменную среды PATH.
Смотрите также: Как установить библиотеку turtle в python
3. Собираем OpenCV из исходного кода
Следующий шаг — скачать исходный код OpenCV. Вы можете найти его на официальном сайте OpenCV: https://opencv.org/releases/. Загрузите архив с исходным кодом соответствующей версии OpenCV. Распакуйте загруженный архив в удобное для вас место.
Теперь откройте командную строку (cmd) и перейдите в каталог, куда вы распаковали исходный код OpenCV.
Создайте новую папку внутри каталога OpenCV и назовите ее «build».
Теперь в командной строке выполните следующую команду:
Затем выполните команду CMake, чтобы сгенерировать файлы проекта для компиляции:
Указывая «..» в качестве пути, вы говорите CMake использовать текущую папку в качестве исходного кода OpenCV.
Теперь выполните следующую команду, чтобы скомпилировать и установить OpenCV:
После завершения компиляции и установки, вы можете убедиться, что OpenCV успешно установлен, выполнив следующую команду в командной строке:
python -c «import cv2; print(cv2.__version__)»
Если вы видите версию OpenCV без ошибок, значит установка прошла успешно.
Теперь у вас установлена OpenCV с поддержкой Python на вашем компьютере! Вы готовы начать использовать OpenCV в ваших Python проектах.
Вопрос-ответ:
Что такое OpenCV?
OpenCV (Open Source Computer Vision Library) – это библиотека компьютерного зрения с открытым исходным кодом. Она предоставляет набор функций для обработки и анализа изображений и видео. OpenCV широко используется в различных областях, включая компьютерное зрение, робототехнику, машинное обучение и др.
Как установить OpenCV на Windows?
Для установки OpenCV на Windows, нужно выполнить несколько шагов. Сначала необходимо скачать и установить Python с официального сайта python.org. Затем установите pip (установщик пакетов Python), выполнив команду «python get-pip.py» в командной строке. Далее, установите библиотеки NumPy и matplotlib, выполнив команды «pip install numpy» и «pip install matplotlib» соответственно. После этого, установите сам OpenCV, скачав бинарные файлы для Windows с официального сайта opencv.org и установив их через командную строку командой «pip install opencv-python». После прохождения всех этих шагов, OpenCV будет успешно установлен на Windows.
Как проверить, что OpenCV успешно установлен на Windows?
Чтобы проверить, что OpenCV успешно установлен на Windows, можно выполнить следующий код в Python:
Установка OpenCV под Windows
В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации
- git clone https://github.com/opencv/opencv.git
- cmake-gui
- configure
- Выбор путей и компилятора
- Выбор компонент
- configure
- generate
- build all (Debug | Release)
- build INSTALL (Debug | Release)
- Установить OpenCV_DIR на папку build
- Добавить в path для всех пользователей папку build/install/. /bin
Вспомогательное ПО
Для дальнейших действий Вам потребуется:
- git
- cmake
- Microsoft Visual Studio
- права администратора
- Около 10Гб свободного места (может больше, в зависимости от задачи)
- Около 2х часов времени на сборку
Если чего-то из этого не хватает — можете посмотреть другие способы установки в официальной документации Выше.
Установка
- Если Вы никогда не пытались ставить OpenCV, пропустите этот шаг. Убедитесь, что у Вас нет следов предыдущей версии OpenCV, в переменнных окружения нет OpenCV_DIR и подобных, а в переменная path не содержит ничего связанного с opencv
- Клонировать репозиторий:
- Для этого нужно создать папку (недалеко от корня диска), без пробелов и на английском языке.
- Открыть в ней консоль или git bash
- Прописать git clone.
В этой статье далее будет использоваться путь С:\OpenCV\opencv
- Запустить cmake-gui Выбрать папку с клонированным репозиторием и папку, в который будет помещён сконфигурированный проект
Лирическое отступление: cmake — система управления сборкой проекта. OpenCV — болшой проект, содержащий множество подпроектов, компонент. С помощью cmake мы определяем, какие именно подпроекты нам нужны, каким компилятором их собирать, под какую платформу.
- Нажать Configure и выбрать компилятор
- Выбрать необходимые компоненты Здесь лучше руководствоваться названием компонент, Вашими целями и здравым смыслом. По умолчанию будет предложена наиболее полная рабочая сборка, однако исходя из целей, многие вещи можно исключить. Например, есть блоки компонент, которые отвечают за интеграцию в java и python. Есть блоки компонент, содержащие нейросетевую обработку, они оканчиваются на «nn». Есть компоненты для открытия разных форматов изображений, соответственно, часть из них можно отключть. Однако, компоненты core, highgui, world, imgproc вероятнее всего понадобятся.
.В оригинальной статье есть рекомендации по выбору компонент. Чтобы получить такое отображение, необходимо в cmake-gui поставить галочку grouped. Я отмечу лишь два из них:
- BUILD_SHARED_LIBS -> включаем сборку динамических библиотек. Особенно нужно, если планируется несколько проектов с OpenCV.
- BUILD_opencv_world -> объединение всех выбранных компонент в одну библиотеку opencv_world.
- Переконфигурировать проект: снова нажимаем Configure
- Если ошибок нет, то нажимаем Generate. Если есть, гуглим и играемся с компонентами, пока не исчезнут. После каждого изменения в компонентах — переконфигурируем.
- Открываем решение в Visual Studio (рядом с Generate — OpenProject, либо соответствующий sln в папке build)
- Выставляем конфигурацию Debug
- Собираем всё решение (Ctrl+Shift+B). Запаситесь терпением — у меня на этот шаг ушло около 40 минут.
- Выставляем конфигурацию Release и снова собираем всё (ещё 40 минут)
- Выделяем проект 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. Чтобы это исправить, нужно завести переменные окружения
- Открыть консоль, прописать
setx OpenCV_DIR C:\OpenCV\build
Либо зайти в настройки windows, найти «переменные окружения», и вручную создать переменную OpenCV_DIR, указывающую на папку сборки.
-
Добавить в переменную path для всех пользователей путь до динамических библиотек dll. Искать их следует внутри папки install, в моём случае это:
C:\OpenCV\build\install\x64\vc16\bin
После этого проект должен успешно собраться, и Вы увидите свою картинку. Или не увидите, если не положили её рядом к поекту. Но в любом случае, библиотека OpenCV прилинкована, спасибо за внимание!
OpenCV: Установка и использование под Windows
В прошлый раз мы познакомились с OpenCV под Linux. Теперь проделаем аналогичную процедуру по установке под Windows. А также создадим простое приложение, использующее модуль OpenCV для работы с веб-камерами:
Установка OpenCV под Windows
- Устанавливаем Git;
- Устанавливаем MinGW. Я установил его вместе с пакетом Qt;
- Устанавливаем Cmake;
- Прописываем пути к bin -каталогам MinGW и Cmake в переменную окружения PATH . По умолчанию Git сам прописывает пути к своим исполняемым файлам, поэтому дополнительные манипуляции с PATH для него не требуются.
Шаг 1: Получаем исходные коды OpenCV из Git
mkdir cd git clone https://github.com/opencv/opencv.git
Шаг 2: Подготавливаем OpenCV к сборке
mkdir release # Предполагается, что мы в каталоге, куда был склонирован git-проект cd release cmake -G "MinGW Makefiles" -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= -D CMAKE_CXX_COMPILER=g++.exe -D MAKE_MAKE_PROGRAM=mingw32-make.exe ..\
В качестве каталога установки я использую C:\OpenCV\ .
Шаг 3: Собираем и устанавливаем OpenCV
mingw32-make # Предполагается, что мы в каталоге release/ mingw32-make install
Если все прошло без ошибок, то мы можем проверить работоспособность сборки на примере по распознаванию лиц из прошлой статьи ( скачать). Однако нам потребуется внести пару изменений в pro -файл. Они отражены в следующих строках:
# Не забываем указать действительные пути к заголовочным файлам и библиотекам INCLUDEPATH += C:/OpenCV/include/ LIBS += -LC:/OpenCV/x86/mingw/bin/ # Под Win32 имена библиотек получают суффикс с номером версии (например, libopencv_core320.dll) OPENCV_VER = 320 LIBS += -lopencv_core$$ \ -lopencv_imgproc$$ \ -lopencv_imgcodecs$$ \ -lopencv_highgui$$ \ -lopencv_objdetect$$
OpenCV: Реализация примера для работы с веб-камерой
Начинаем с pro -файла:
# … # Остальное нас не интересует INCLUDEPATH += C:/OpenCV/include/ LIBS += -LC:/OpenCV/x86/mingw/bin/ win32: OPENCV_VER = 320 LIBS += -lopencv_core$$ \ -lopencv_imgproc$$ \ -lopencv_imgcodecs$$ \ -lopencv_highgui$$ \ -lopencv_videoio$$
По сравнению с примером чуть выше мы отключили модуль objdetect , но подключили videoio .
Заголовочный файл mainwidget.h :
#ifndef MAINWIDGET_H #define MAINWIDGET_H #include #include #include namespace Ui < class MainWidget; >class MainWidget : public QWidget < Q_OBJECT public: explicit MainWidget( QWidget* parent = 0 ); ~MainWidget(); signals: void stopCaptureSig(); private slots: void onFrameAvaliable( const QImage& img ); private: Ui::MainWidget* ui; QThreadPool m_pool; >; // ******************************************************************************** class WebCamStreamTask : public QObject, public QRunnable < Q_OBJECT public: explicit WebCamStreamTask( QObject* parent = 0 ); public slots: void onStop(); signals: void frameAvailable( const QImage& img ); protected: void run(); private: bool m_stopped; >; #endif // MAINWIDGET_H
Обратите внимание, что мы заготовили класс задачи WebCamStreamTask . Именно здесь мы задействуем функции модуля VideoCapture . Главный поток управления с GUI будет всего лишь получать готовые изображения QImage и отображать их в QLabel .
#include "mainwidget.h" #include "ui_mainwidget.h" #include MainWidget::MainWidget( QWidget* parent ) : QWidget( parent ), ui( new Ui::MainWidget ) < ui->setupUi( this ); WebCamStreamTask* task = new WebCamStreamTask; connect( task, SIGNAL( frameAvailable( QImage ) ), SLOT( onFrameAvaliable( QImage ) ) ); connect( this, SIGNAL( stopCaptureSig() ), task, SLOT( onStop() ) ); m_pool.start( task ); > MainWidget::~MainWidget() < delete ui; emit stopCaptureSig(); m_pool.waitForDone(); >void MainWidget::onFrameAvaliable( const QImage& img ) < QPixmap pix = QPixmap::fromImage( img ).scaled( ui->lbPreview->size(), Qt::KeepAspectRatio ); ui->lbPreview->setPixmap( pix ); > // ******************************************************************************** WebCamStreamTask::WebCamStreamTask( QObject* parent ) : QObject( parent ), m_stopped( false ) < >void WebCamStreamTask::onStop() < m_stopped = true; >void WebCamStreamTask::run() < cv::VideoCapture cap; if( !cap.open( 0 ) ) < return; >forever < if( m_stopped ) < break; >cv::Mat frame; cap >> frame; if( frame.empty() ) < m_stopped = true; continue; >cv::Mat frameRGB; cv::cvtColor( frame, frameRGB, CV_BGR2RGB ); QImage img( reinterpret_cast< const uchar* >( frameRGB.data ), frameRGB.cols, frameRGB.rows, frameRGB.step, QImage::Format_RGB888 ); emit frameAvailable( img.copy() ); > >
Особый интерес для нас представляет следующий фрагмент:
void WebCamStreamTask::run() < cv::VideoCapture cap; if( !cap.open( 0 ) ) < return; >forever < if( m_stopped ) < break; >cv::Mat frame; cap >> frame; if( frame.empty() ) < m_stopped = true; continue; >cv::Mat frameRGB; cv::cvtColor( frame, frameRGB, CV_BGR2RGB ); QImage img( reinterpret_cast< const uchar* >( frameRGB.data ), frameRGB.cols, frameRGB.rows, frameRGB.step, QImage::Format_RGB888 ); emit frameAvailable( img.copy() ); > >
Сначала мы пытаемся открыть веб-камеру по умолчанию. Если что-то пошло не так, то поток прерывает свое выполнение (это не слишком информативно, поэтому никогда не делайте так в настоящем приложении):
cv::VideoCapture cap; if( !cap.open( 0 ) )
Далее мы запускаем бесконечный цикл (он остановится при выходе из приложения или при сбое в работе веб-камеры), в котором получаем кадры от веб-камеры:
forever < if( m_stopped ) < break; >cv::Mat frame; cap >> frame; if( frame.empty() ) < m_stopped = true; continue; >// … >
Во второй части каждой итерации мы преобразуем полученный кадр (объект класса cv::Mat ) в QImage , копию которого затем отправляем с помощью сигнала frameAvailable() :
forever < // … cv::Mat frameRGB; cv::cvtColor( frame, frameRGB, CV_BGR2RGB ); QImage img( reinterpret_cast< const uchar* >( frameRGB.data ), frameRGB.cols, frameRGB.rows, frameRGB.step, QImage::Format_RGB888 ); emit frameAvailable( img.copy() ); >
Следует заметить, что мы преобразуем исходный cv::Mat в определенный формат, из которого уже и формируется QImage . При этом мы отправляем именно копию QImage , потому что конструктор QImage не делает глубокую копию входного буфера с данными изображения.