Установить opencv на линукс

Установить opencv на линукс

The following steps have been tested for Ubuntu 10.04 but should work with other distros as well.

Required Packages

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher

The packages can be installed using a terminal and the following commands or by using Synaptic Manager:

[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Getting OpenCV Source Code

You can use the latest stable OpenCV version or you can grab the latest snapshot from our Git repository.

Getting the Latest Stable OpenCV Version

Getting the Cutting-edge OpenCV from the Git Repository

Launch Git client and clone OpenCV repository. If you need modules from OpenCV contrib repository then clone it as well.

Building OpenCV from Source Using CMake

  1. Create a temporary directory, which we denote as , where you want to put the generated Makefiles, project files as well the object files and output binaries and enter there. For example
  • set full path to OpenCV source code, e.g. /home/user/opencv
  • set full path to , e.g. /home/user/opencv/build
  • set optional parameters
  • run: “Configure”
  • run: “Generate”
  • build type: CMAKE_BUILD_TYPE=Release\Debug
  • to build with modules from opencv_contrib set OPENCV_EXTRA_MODULES_PATH to
  • set BUILD_DOCS for building documents
  • set BUILD_EXAMPLES to build all examples
  • PYTHON2(3)_EXECUTABLE =
  • PYTHON_INCLUDE_DIR = /usr/include/python
  • PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python
  • PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython.so
  • PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python/dist-packages/numpy/core/include/
  • Unset parameter: BUILD_SHARED_LIBS
  • It is useful also to unset BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — as they all will be statically linked with OpenCV and can take a lot of memory.
Читайте также:  Astra linux восстановление fly

Источник

OpenCV: Установка и использование под Linux

OpenCV — мощная и развитая библиотека компьютерного зрения с открытым исходным кодом. Если вам понадобилось решить какую-то задачу, связанную с нетривиальной обработкой изображений, то есть большая вероятность, что OpenCV уже предлагает готовое решение.

В этой статье мы соберем и установим OpenCV из исходных кодов под Linux, а затем разработаем тестовое приложение, способное находить лица на фотографии с помощью модуля CascadeClassifier :

opencv-face-classifier-demo

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

Прежде чем приступать к сборке OpenCV из исходных кодов, рекомендую проверить, что он не доступен в репозиториях вашего дистрибутива Linux. Например, в Archlinux библиотеку OpenCV можно установить следующей командой:

Однако даже в этом случае иногда есть смысл сделать сборку OpenCV самому. Основная причина для этого — так вы сможете получить самую последнюю версию как можно раньше (например, при добавлении новых возможностей или исправлении критических ошибок). Поэтому приступим к пошаговой инструкции по сборке OpenCV.

Шаг 1: Получаем исходные коды OpenCV из Git

mkdir cd git clone https://github.com/opencv/opencv.git 

Шаг 2: Подготавливаем OpenCV к сборке

mkdir release # Предполагается, что мы в каталоге, куда был склонирован git-проект cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX= ../ 

В качестве каталога установки я использую домашний каталог /home/michael/OpenCV/ .

Шаг 3: Собираем и устанавливаем OpenCV

make # Предполагается, что мы в каталоге release/ sudo make install # Если вы устанавливаете OpenCV, как и я, в домашний каталог, то sudo не нужно 

Если все прошло без ошибок, то процесс сборки и установки OpenCV завершен. Теперь можно перейти в каталог, который мы указали в параметре CMAKE_INSTALL_PREFIX . Там вы должны увидеть примерно такой набор директорий:

drwx------ 6 michael michael 4,0K мар 31 08:44 ./ drwx------ 171 michael michael 12K мар 31 09:30 ../ drwx------ 2 michael michael 4,0K мар 31 08:44 bin/ drwx------ 4 michael michael 4,0K мар 31 08:44 include/ drwx------ 3 michael michael 4,0K мар 31 08:44 lib/ drwx------ 3 michael michael 4,0K мар 31 08:44 share/ 

Разработка Qt-проекта с использованием OpenCV

Начнем с подготовки pro -файла:

# … # Остальное нас сейчас не интересует INCLUDEPATH += LIBS += -L/ LIBS += -lopencv_core \ -lopencv_imgproc \ -lopencv_imgcodecs \ -lopencv_highgui \ -lopencv_objdetect 

Для успешной работы с OpenCV в Qt-проекте нужно указать пути, где находятся заголовочные файлы и библиотеки. Например, если мы установили OpenCV в домашнем каталоге: ~/OpenCV , то:

INCLUDEPATH += $(HOME)/OpenCV/include/ LIBS += -L$(HOME)/OpenCV/lib/ 

Также не забываем подключать необходимые opencv -библиотеки:

LIBS += -lopencv_core \ -lopencv_imgproc \ -lopencv_imgcodecs \ -lopencv_highgui \ -lopencv_objdetect 

Теперь переходим к файлу mainwidget.h :

#ifndef MAINWIDGET_H #define MAINWIDGET_H #include #include namespace Ui < class MainWidget; >class MainWidget : public QWidget < Q_OBJECT public: explicit MainWidget( QWidget* parent = 0 ); ~MainWidget(); private slots: void onLoadImage(); private: Ui::MainWidget* ui; cv::CascadeClassifier m_faceClassifier; >; #endif // MAINWIDGET_H 

Мы лишь подготовили очень простой виджет, в котором одним из полей является объект класса OpenCV — cv::CascadeClassifier .

Читайте также:  Firebird sql manager linux

Реализация в mainwidget.cpp :

#include "mainwidget.h" #include "ui_mainwidget.h" #include #include #include #include MainWidget::MainWidget( QWidget* parent ) : QWidget( parent ), ui( new Ui::MainWidget ) < ui->setupUi( this ); m_faceClassifier.load( "haarcascade_frontalface_default.xml" ); connect( ui->bnOpen, SIGNAL( clicked( bool ) ), SLOT( onLoadImage() ) ); > MainWidget::~MainWidget() < delete ui; >void MainWidget::onLoadImage() < QString imgPath = QFileDialog::getOpenFileName( this, trUtf8( "Открыть" ), ".", trUtf8( "Изображения (*.jpg *.png *.bmp)" ) ); if( imgPath.isEmpty() ) < return; >cv::Mat img = cv::imread( imgPath.toStdString() ); cv::Mat gray; cv::cvtColor( img, gray, cv::COLOR_BGR2GRAY ); std::vector < cv::Rect >faces; m_faceClassifier.detectMultiScale( gray, faces ); QPixmap pix( imgPath ); QPainter painter; painter.begin( &pix ); painter.setPen( Qt::green ); foreach( const cv::Rect& r, faces ) < painter.drawRect( r.x, r.y, r.width, r.height ); >painter.end(); ui->lbView->setPixmap( pix.scaled( ui->lbView->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation ) ); > 

Обратите внимание на строку:

m_faceClassifier.load( "haarcascade_frontalface_default.xml" );

Здесь мы загружаем классификатор haarcascade_frontalface_default.xml , обученный на распознавание лиц. Найти его можно в каталоге data/haarcascades/ , который расположен в склонированном гит-репозитории OpenCV. Обратите внимание, что этот xml -файл должен находиться в одном каталоге с исполняемым файлом для правильной работы приложения.

Следующий важный фрагмент:

cv::Mat img = cv::imread( imgPath.toStdString() ); cv::Mat gray; cv::cvtColor( img, gray, cv::COLOR_BGR2GRAY ); std::vector < cv::Rect >faces; m_faceClassifier.detectMultiScale( gray, faces ); 

В этом месте мы и выполняем непосредственное распознавание для загруженной фотографии. «Волшебство» происходит в этой строке:

m_faceClassifier.detectMultiScale( gray, faces );

На вход detectMultiScale() получает черно-белое изображение, а возвращает вектор с прямоугольниками, соответствующими всем найденным лицам.

Далее мы просто проходим по получившемуся вектору и помечаем все лица на фотографии зеленой рамкой:

QPixmap pix( imgPath ); QPainter painter; painter.begin( &pix ); painter.setPen( Qt::green ); foreach( const cv::Rect& r, faces ) < painter.drawRect( r.x, r.y, r.width, r.height ); >painter.end(); 

Если вы потестируете это приложение подольше, то увидите, что часто встречаются ложные срабатывания (лица находятся там, где их нет). Но решение этой проблемы уже выходит за рамки этой статьи и требует более аккуратного подхода.

Источник

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

OpenCV (Open Source Computer Vision Library) — это библиотека компьютерного зрения с открытым исходным кодом с привязками для C ++, Python и Java, поддерживающая все основные операционные системы. Он может использовать преимущества многоядерной обработки и ускорения графического процессора для работы в реальном времени.

Читайте также:  Узнать версию firefox linux

OpenCV используется для широкого спектра приложений, включая анализ медицинских изображений, сшивание изображений улиц, видеонаблюдение, обнаружение и распознавание лиц, отслеживание движущихся объектов, извлечение 3D-моделей и многое другое.

В этой статье описывается, как установить OpenCV в Ubuntu 20.04. Чтобы установить последнюю стабильную версию OpenCV из исходного кода, прокрутите вниз до раздела « Установка OpenCV из исходного кода » этого руководства. Выберите наиболее удобный для вас способ установки.

Установка OpenCV из репозитория Ubuntu

OpenCV доступен для установки из репозиториев Ubuntu 20.04 по умолчанию. Для его установки выполните:

sudo apt updatesudo apt install libopencv-dev python3-opencv

Приведенная выше команда установит все пакеты, необходимые для запуска OpenCV.

Проверьте установку, импортировав модуль cv2 и распечатав версию OpenCV:

python3 -c "import cv2; print(cv2.__version__)"

На момент написания в репозиториях стоит версия 4.2:

Установка OpenCV из исходного кода

Сборка библиотеки OpenCV из исходного кода позволяет получить самую последнюю доступную версию. Он будет оптимизирован для вашей конкретной системы, и вы получите полный контроль над параметрами сборки. Это рекомендуемый способ установки OpenCV.

Выполните следующие шаги, чтобы установить последнюю версию OpenCV из источника:

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 libopenexr-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git
cd ~/opencv_build/opencv mkdir -p build && cd build
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 ..
-- Configuring done -- Generating done -- Build files have been written to: /home/vagrant/opencv_build/opencv/build
pkg-config --modversion opencv4
python3 -c "import cv2; print(cv2.__version__)"

Выводы

Мы показали вам два разных способа установки OpenCV на ваш компьютер с Ubuntu 20.04. Выбор метода зависит от ваших требований и предпочтений. Несмотря на то, что установить упакованную версию из репозитория Ubuntu проще, сборка OpenCV из исходного кода дает вам больше гибкости, и это должно быть вашим первым вариантом при установке OpenCV.

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

Источник

Оцените статью
Adblock
detector