Как установить opencv python на windows
Перейти к содержимому

Как установить opencv python на windows

  • автор:

Установка OpenCV-Python на виртуальной среде для суперчайников

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

  • Установка Python
  • Установка виртуальной среды
  • Установка OpenCV + jupiterlab, numpy, matplotlib
  • Тестирование

Все тестировала на планшете Microsoft Surface, Windows 10 Pro, c 64-битной операционной системой.

Предположим, что на вашем устройстве ничего не установлено заранее.

  1. Сначала установим Python.
    Скачиваем нужную версию и запускаем .exe файл. Не забываем установить галочку add path. Я установила Python 3.7.3 от 25 марта 2019 г., потому что новая на данный момент версия Python 3.7.4 от 8го июля 2019 г. работала некорректно, а именно в терминале некоторые команды зависали. Открываем командную строку.
  2. Устанавливаем virtualenv.
    Виртуальная среда нам нужна для того, чтобы для каждого отдельного проекта была своя «комната» со своими версиями установленных библиотек, которые не будут зависеть от других проектов и путаться между собой.
    Пакеты будем устанавливать с помощью pip. Он в последнее время сразу идет с Python, но обычно требуется его обновить командой:
    python -m pip install —upgrade pip
    Обновили pip, теперь установим виртуальную среду:
    pip install virtualenv
    Командой cd перейдите в папку, в которой хотите создать среду и введите команду:
    mkdir opencvtutorial_env — так мы создали среду с названием opencvtutorial_env.
    Далее вводим команду virtualenv opencvtutorial_env и для активации перейдите в папку среды и далее с помощью Tab до activate.
    .\opencvtutorial_env\Scripts\activate
  3. Установим библиотеки OpenCV-Python, Numpy и Matplotlib, которые понадобятся для тестирования функций opencv.
    Самый легкий и быстрый вариант установки у меня получился с неофициальной версии. Устанавливаем его командой:
    pip install opencv-python
    Вместе с opencv-python в подарок с этим пакетом идет numpy. Дополнительно установим matplotlib: pip install matplotlib .
  4. Установим pip install jupyterlab и запустим его командой jupyter notebook .
    Теперь осталось проверить все ли у нас работает. В открывшемся окне создаем новый Python 3 файл, и запускаем команду:
    import cv2 as cv
    print( cv.__version__ )
    Если выходит версия opencv, то поздравляю, можно тестировать туториалы c официального сайта. Мои примеры работ по туториалам можно найти здесь.
  • opencv-python
  • computer vision
  • компьютерное зрение
  • python3
  • virtualenv

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

В прошлый раз мы познакомились с OpenCV под Linux. Теперь проделаем аналогичную процедуру по установке под Windows. А также создадим простое приложение, использующее модуль OpenCV для работы с веб-камерами:

opencv-web-cam-demo-app

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

  1. Устанавливаем Git;
  2. Устанавливаем MinGW. Я установил его вместе с пакетом Qt;
  3. Устанавливаем Cmake;
  4. Прописываем пути к 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 не делает глубокую копию входного буфера с данными изображения.

Как установить opencv python на windows

In this tutorial

  • We will learn to setup OpenCV-Python in your Windows system.

Below steps are tested in a Windows 7-64 bit machine with Visual Studio 2010 and Visual Studio 2012. The screenshots shows VS2012.

Installing OpenCV from prebuilt binaries

  1. Below Python packages are to be downloaded and installed to their default locations.
    1. Python 3.x (3.4+) or Python 2.7.x from here.
    2. Numpy package (for example, using pip install numpy command).
    3. Matplotlib ( pip install matplotlib ) (Matplotlib is optional, but recommended since we use it a lot in our tutorials).

    >>> import cv2 as cv
    >>> print( cv.__version__ )

    If the results are printed out without any errors, congratulations . You have installed OpenCV-Python successfully.

    Building OpenCV from source

    1. Download and install Visual Studio and CMake.
      1. Visual Studio 2012
      2. CMake
      1. Python
      2. Numpy

      Установка OpenCV

      В статье разберем, как установить библиотеку OpenCV на компьютеры с операционной системой Windows и MacOS.

      Установка OpenCV на компьютер с ОС Windows

      Установка OpenCV

      1. Установить Python со встроенными библиотеками.
      2. После установки Python нажимаем на комбинацию кнопок Win+R. В открывшемся окне нужно прописать:

      Начнётся скачивание и установка:

      Установка OpenCV

      Готово! Библиотека OpenCV установлена на ваш Windows-компьютер.

      Для установки OpenCV на компьютер с ОС Linux вводим такую же команду.

      Установка OpenCV на MacOS

      1. Установить Python со встроенными библиотеками для своей операционной системы.

      Если у Вас уже установлен Python, рекомендуем переустановить и обязательно поставить галочку у пункта «добавить в PATH».

      2. Открываем терминал и пишем туда несколько команд:

      pip install --upgrade pip pip install opencv-python

      После ввода произойдёт скачивание и установка.

      Установка OpenCV

      Проверка установки

      Для проверки откроем Python и напишем:

      import cv2

      Если ошибок нет, значит, OpenCV установился.

      Курсы Робикс, в которых изучается этот материал.

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

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