- OpenCV: Установка и использование под Linux
- Установка OpenCV под Linux
- Шаг 1: Получаем исходные коды OpenCV из Git
- Шаг 2: Подготавливаем OpenCV к сборке
- Шаг 3: Собираем и устанавливаем OpenCV
- Разработка Qt-проекта с использованием OpenCV
- RoboCraft
- Установка OpenCV в Ubuntu 18.04
- Установка OpenCV из репозитория Ubuntu
- Установка OpenCV с помощью PIP
- Установка OpenCV из исходного кода
- Шаг 1. Установка зависимостей
- Шаг 2. Клонирование репозитория
- Шаг 3. Подготовка к сборке
- Шаг 4. Компиляция OpenCV
- Шаг 5. Установка OpenCV
- Шаг 6. Версия OpenCV
- Заключение
- Name already in use
- OpenCVBlueprints / installation_tutorials / installation_linux.md
OpenCV: Установка и использование под Linux
OpenCV — мощная и развитая библиотека компьютерного зрения с открытым исходным кодом. Если вам понадобилось решить какую-то задачу, связанную с нетривиальной обработкой изображений, то есть большая вероятность, что OpenCV уже предлагает готовое решение.
В этой статье мы соберем и установим OpenCV из исходных кодов под Linux, а затем разработаем тестовое приложение, способное находить лица на фотографии с помощью модуля CascadeClassifier :
Установка OpenCV под Linux
Прежде чем приступать к сборке OpenCV из исходных кодов, рекомендую проверить, что он не доступен в репозиториях вашего дистрибутива Linux. Например, в Archlinux библиотеку OpenCV можно установить следующей командой:
Однако даже в этом случае иногда есть смысл сделать сборку OpenCV самому. Основная причина для этого — так вы сможете получить самую последнюю версию как можно раньше (например, при добавлении новых возможностей или исправлении критических ошибок). Поэтому приступим к пошаговой инструкции по сборке OpenCV.
Шаг 1: Получаем исходные коды OpenCV из Git
Шаг 2: Подготавливаем OpenCV к сборке
В качестве каталога установки я использую домашний каталог /home/michael/OpenCV/ .
Шаг 3: Собираем и устанавливаем OpenCV
Если все прошло без ошибок, то процесс сборки и установки OpenCV завершен. Теперь можно перейти в каталог, который мы указали в параметре CMAKE_INSTALL_PREFIX . Там вы должны увидеть примерно такой набор директорий:
Реклама
Разработка Qt-проекта с использованием OpenCV
Начнем с подготовки pro -файла:
Для успешной работы с OpenCV в Qt-проекте нужно указать пути, где находятся заголовочные файлы и библиотеки. Например, если мы установили OpenCV в домашнем каталоге:
Также не забываем подключать необходимые opencv -библиотеки:
Теперь переходим к файлу mainwidget.h :
Мы лишь подготовили очень простой виджет, в котором одним из полей является объект класса OpenCV — cv::CascadeClassifier .
Реализация в mainwidget.cpp :
Обратите внимание на строку:
Здесь мы загружаем классификатор haarcascade_frontalface_default.xml , обученный на распознавание лиц. Найти его можно в каталоге data/haarcascades/ , который расположен в склонированном гит-репозитории OpenCV. Обратите внимание, что этот xml -файл должен находиться в одном каталоге с исполняемым файлом для правильной работы приложения.
Следующий важный фрагмент:
В этом месте мы и выполняем непосредственное распознавание для загруженной фотографии. «Волшебство» происходит в этой строке:
На вход detectMultiScale() получает черно-белое изображение, а возвращает вектор с прямоугольниками, соответствующими всем найденным лицам.
Далее мы просто проходим по получившемуся вектору и помечаем все лица на фотографии зеленой рамкой:
Если вы потестируете это приложение подольше, то увидите, что часто встречаются ложные срабатывания (лица находятся там, где их нет). Но решение этой проблемы уже выходит за рамки этой статьи и требует более аккуратного подхода.
RoboCraft
1. OpenCV шаг за шагом. Введение.
2. Установка под Windows
Установка OpenCV под OC Linux
Рассмотрим процесс установки библиотеки OpenCV под ОС Linux на примере дистрибутива Ubuntu 10.10, но с незначительными вариациями должно сработать и под другими дистрибутивами (проверялось под Debian, ALT Linux).
Для установки OpenCV нужно скачать (UPD: официальный сайт) архив с исходными текстами.
Скачаем последнюю (на данный момент) версию:
OpenCV-2.2.0.tar.bz2
Сборка проекта осуществляется с помощью CMake (требуется версия 2.6 или выше).
Можно установить CMake в виде пакета
apt-cache show cmake
говорит, что сейчас доступна версия 2.8.2
, либо из исходников. Для этого нужно скачать архив cmake-2.8.3.tar.gz с официального сайта cmake.org
сборка и установка CMake осуществляется без проблем:
далее, для отображения окошек OpenCV требуется установленная библиотека GTK+ 2.x или выше, в том числе заголовочные файлы (libgtk2.0-dev)
теперь можно собрать саму библиотеку OpenCV
попробуем собрать примеры, которые идут в составе библиотеки:
зпустим один из примеров:
./delaunay
здесь вы увидите либо красивую картинку, либо ошибку
— это значит, что программа не может найти требуемые библиотеки, пропишем их путь:
здесь может выявиться ошибка:
— это значит что вы забыли установить заголовочные файлы GTK+ 2.x: libgtk2.0-dev — выполните установку этого пакета и заново пересобирите OpenCV.
После установки заголовочные файлы OpenCV находятся в каталоге:
, а библиотечные файлы лежат в:
Попробуем самостоятельно собрать программу с OpenCV:
остаётся выполнить команду
и получить исполняемый файл test
результат:
Установка OpenCV в Ubuntu 18.04
OpenCV (Open Source Computer Vision Library) – библиотека компьютерного зрения выпущенная под лицензией BSD, свободная как для личного, так и коммерческого использования. У неё есть интерфейсы для C++, Python и Java, поддерживается Windows, Linux, MacOS, IOS и Android. Эта библиотека используется для анализа видео и изображений.
OpenCV имеет модульную структуру, а это значит что пакет состоит из нескольких статических и динамических библиотек. В этой статье мы рассмотрим как выполняется установка OpenCV на Ubuntu 18.04 из официального репозитория или исходников.
Установка OpenCV из репозитория Ubuntu
Пакет OpenCV доступен в официальных репозиториях Ubuntu 18.04. На данный момент в репозиториях находится версия 3.2, а на официальном сайте уже можно найти версию 4.0. Чтобы установить OpenCV в Ubuntu 18.04 вместе с Python 3, выполните:
sudo apt update
sudo apt install python3-opencv
Затем нужно импортировать модуль cv2 в интерпретаторе python и посмотреть версию, чтобы убедиться что установка прошла успешно:
python3 -c «\
import cv2
print(cv2.__version__)»
В Ubuntu 18.04 LTS по умолчанию версия Python – 3.6. Если нужно установить OpenCV с привязками Python 2, загрузите пакет python-opencv.
Установка OpenCV с помощью PIP
Пакетный менеджер pip позволяет устанавливать различные пакеты python в систему. Сначала надо установить сам пакетный менеджер:
sudo apt install python-pip
Затем остается установить саму библиотеку:
sudo pip install opencv-python
После этого вы можете проверить версию библиотеки как описано в предыдущем пункте.
Установка OpenCV из исходного кода
В официальном репозитории и репозитории pip находится не самая новая версия. На момент написания статьи, самая новая версия — 4.1.0. Если вы хотите установить именно её, вам понадобиться компилировать OpenCV из исходного кода.
Шаг 1. Установка зависимостей
Сначала установим зависимости:
sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
Шаг 2. Клонирование репозитория
Создайте директорию в которую будут сохранены репозитории OpenCV и перейдите в неё
Затем скачайте репозитории. Будут загружены два репозитория — opencv и opencv-contrib. Второй репозиторий содержит алгоритмы компьютерного зрения и будет полезен всем, кто хочет работать с этой технологией.
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
Если вы хотите установить старую версию OpenCV перейдите в каталог обоих репозиториев и выполните в них команду:
Шаг 3. Подготовка к сборке
Когда загрузка завершится, создайте временную директорию сборки и переключитесь на нее:
/opencv_build/opencv
mkdir build
cd build
Подготовьте сборку OpenCV, используя CMake:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=
/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
Как только сборка CMake будет завершена, вы увидите нечто похожее на то, что показано ниже:
Шаг 4. Компиляция OpenCV
Измените флаг -j в соответствии с вашим процессором. Узнать число ядер процессора можно командой nproc. Например, в системе 4 ядра, поэтому используется флаг –j4. Начните процесс компиляции:
Компиляция может занять какое-то время. Это зависит от конфигурации вашей системы. После завершения вы увидите что-то подобное:
Шаг 5. Установка OpenCV
Когда процесс компиляции завершится, установите OpenCV с командой:
sudo make install
Шаг 6. Версия OpenCV
Чтобы проверить, прошла ли установка OpenCV успешно, введите следующие команды. Вы должны увидеть версию OpenCV:
pkg-config —modversion opencv4
python3 -c «\
import cv2
print(cv2.__version__)»
Заключение
В этой статье мы рассмотрели как выполняется установка OpenCV в Ubuntu 18.04 из репозитория или исходных кодов. Теперь вы знаете как получить самую свежую версию программы. Больше информации по использованию библиотеки доступно на официальном сайте.
Name already in use
OpenCVBlueprints / installation_tutorials / installation_linux.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
Copy raw contents
Copy raw contents
OpenCV 3 installation guide for Linux
This is a step-by-step installation guide for installing OpenCV 3 on a Linux system. This installation guide was checked on Ubuntu 12.04 and Ubuntu 14.04. If, however, the installation does not work on your specific Linux distribution, then do open up an issues page, so we can try to help you find a solution.
Preparing your system
You should start by firing up a console window. The complete guide will be based on console commands, since Linux distributions do not all cover a graphical interface. Once you have fired up the console window, you can start by installing some basic packages. This can be done with the following installation commands:
Thanks to the geniusness of OpenCV, most optimization packages of OpenCV are included as source files and built during installation of OpenCV, so you are not expected to add anything other than the above to get a basic system to work.
Installing CUDA or OpenCL support
If you want to use the GPU-powered functionality that is embedded into OpenCV, then please download the corresponding packages.
- CUDA can be downloaded from the NVIDIA website. Install it in your system and remember where you installed it, since OpenCV might ask for the package location.
- OpenCL comes preinstalled on most Linux based systems, or comes as a package with your library. There is no need to install this seperately.
Start by grabbing the latest OpenCV 3 installation
Now that we have our basic system configured, we will start by setting up a folder structure. Make sure that somewhere on your system you have the following folder layout:
Then, we will start by grabbing the latest master branch for the main OpenCV repository. This can be done by the following command from the root director:
git clone https://github.com/Itseez/opencv.git opencv
This will download the compelete repository into your local drive, so give it some time to finish. Once it is done, you need to make sure that the correct branch is selected. Therefore, execute the command:
git checkout master
Now, go back to the root folder and execute the command needed for retrieving the OpenCV «Contrib» (contributed) repository, since several chapters of this book use techniques and functionality from these contributed modules.
git clone https://github.com/Itseez/opencv_contrib.git opencv_contrib
Again, make sure that you have the correct branch by doing:
git checkout master
Now, your basic system is set up to go and be installed.
Running CMake to configure, build and install OpenCV 3
Start by navigating to the build directory inside your OpenCV folder. Fire up the building process by executing
which basically fires up the CMake graphical interface (a bit easier to configure for new users). Of course, if you have a non-graphical Linux system, you might want to try the ccmake package which can be installed through sudo apt-get install cmake-curses-gui .
The first window you will get is, a window asking you to define where your source folder and build folder are. However, since we ran the cmake command from the correct folder, pointing it to the source folder which is one level up using the .. syntax, we are already set up correctly. Now, hit the Configure button!
The configuration will first ask you what generator must be used for this project. Make sure you select Use default native compilers as option and from the dropdown list Unix Makefiles . Now, the tool will check all the packages installed on your system and give you the following output:
The top part, all in red, contains all the fields where CMake still wants your input. The bottom part is a wrap-up of all the things that will be configured in your OpenCV installation. The basic rule is, as long CMake keeps asking for input with red fields, the configure stage is not complete yet. Now, start browsing the top part and make sure that you find the field OPENCV_EXTRA_MODULES_PATH and make sure that it points to your opencv_contrib modules folder. In our case, this will be /home/spu/Documents/github/opencv_contrib/modules . Now hit the configure button again!
Now, in our second run, we will make the following adaptations:
- From the new modules that are introduced, we only select BUILD_opencv_face, BUILD_opencv_xfeatures2d and BUILD_opencv_ximproc . All other new modules that are in red can be disabled. We do not need them for the book and they can only cause things to break down.
- Go down to the field CMAKE_BUILD_TYPE and select Debug . This ensures that we get meaningful errors when OpenCV decides to crash.
- IF YOU NEED CUDA: Find the field CUDA_ARCH_BIN and CUDA_ARCH_PTX and leave only the value specific for your card, which can be found here. This ensures that building goes way faster! For example, my card are Kepler K2000 cards and I set both values to 3.0.
- IF YOU DO NOT NEED CUDA: Make sure that the following fields are disabled: WITH_CUBLAS, WITH_CUDA and WITH_CUFFT
- IF YOU DO NOT NEED OPENCL: Make sure that the following fields are disabled: WITH_OPENCL, WITH_OPENCLAMDBLAS and WITH_OPENCLAMDFFT
Now hit the configure button again! Cross your fingers that there is not a single red field anymore. In that case hit the generate button. If there still a red field and you cannot solve it yourself, open up a question at our issues page and we will help you as soon as possible. If all went fine, you can close down CMake.
The following step is to actually build OpenCV for your system. This is done by
sudo make -j 12 install
Replace the number with the number of cores your system has. The install option will push everything into the standard directories after building, which is easier when compiling your programs later on. Wait till it finishes, again fingers crossed that it works without errors.
Useful optimizations for OpenCV 3 to improve performance
OpenCV 3 supports several optimization technologies to improve the speed of its core algorithms.
- IPP or Integrated Performance Primitives is a technology for Intel processors to speed up processing. OpenCV 3 provides a partial free version of IPP, provided by Intel, which is enabled by default if you have an Intel processor. You can enable or disable it by setting the WITH_IPP option in CMake. However, if you have access to the complete IPP package, then enable the option WITH_IPP_A which will give you an even larger performance increase.
- TBB or Thread Building Blocks is software that enables parallelism on multicore CPUs. Several functions of OpenCV have been heavily optimized using this technique. To get this performance speed advantage, you will have to download and install TBB on your system, and then enable the WITH_TBB option in CMake. This ensures you get the latest TBB version out there. If you are fine with an older version, then also enable the BUILD_TBB option in CMake, which will use the third-party package of TBB included in the OpenCV repository.
Testing your OpenCV installation
Finally, you can open up a test.cpp file in your favorite editor and add the following lines of code:
Make sure that you replace the image path with an actual image path that exists! Then, configure your editor to include the build and installed OpenCV repositories. Under Ubuntu, you can do that by pointing your linker to
which will auto grab all the dependencies. This can be done inside your IDE on the linker settings tab or by executing the following command
using the command line. Since all headers are installed into /usr/local/lib/ , you do not need to explicitly tell that to the system, since Ubuntu can handle that itself.
Enjoy your working OpenCV 3 installation!