Python

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

Lorem ipsum dolor

Сегодня мы поговорим о таком инструменте для Python, как библиотека OpenCV, а именно: как происходит ее установка и что с ней можно делать.

OpenCV — это библиотека с открытым исходным кодом, которую используют для реализации компьютерного зрения в программах. Компьютерное зрение — это способность компьютерных программ распознавать и анализировать изображения и видео. Например, распознавание лиц на изображениях и в приложениях может быть реализовано на Python при помощи этой библиотеки.

OpenCV чаще всего применяется в Python, потому что сам язык весьма распространен при программировании:

  • искусственного интеллекта, 

  • машинного обучения,

  • компьютерного зрения,

  • и др.

В общем, в тех местах, где можно применить библиотеку OpenCV, популярен и Питон, поэтому часто их рассматривают «вместе». При этом OpenCV применяется и с другими языками программирования, например, с Java или С++. Помимо поддержки нескольких языков программирования, OpenCV является кроссплатформенным инструментом. То есть программы, разработанные при помощи этой библиотеки, смогут работать на разных операционных системах: Windows, Linux, MacOS и др.

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

Важно понимать, раз происходит установка OpenCV в Python, значит, на компьютере уже установлен Python. Если его нет на компьютере, тогда срочно это исправьте и только потом приступайте к инсталляции OpenCV.

Установка OpenCV в Python происходит при помощи одной команды в консоли или терминале вашего компьютера, независимо от его операционной системы:

На Виндовс-версиях системы:

      $ pip install opencv-python

На МакОС:

    $ brew install opencv3 --with-contrib --with-python3 

Для дистрибутивов Линукс:

    $ sudo apt-get install libopencv-dev python-opencv

После инсталляции библиотеки OpenCV не лишним будет проверить корректность установки. Для этого в терминале или консоли введите следующую команду:

import cv2

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

Простые операции с OpenCV в Python

Допустим, установка OpenCV в Python прошла успешно, и все хорошо. Что можно дальше делать с этой библиотекой? Мы покажем несколько простейших операций, на которые способна OpenCV. В целом эта библиотека нужна для работы с графикой.

Отобразить графическое изображение

Чтобы отобразить какое-то изображение при помощи OpenCV в Python, нужно сначала его загрузить. Для OpenCV важно 2 вещи:

  • месторасположение изображения,

  • режим, в котором открыть изображение: чтение, запись, корректировка, удаление и др.

Как выглядит код, чтобы загрузить какое-то изображение:

import cv2

my_track = cv2.imread("track.png")

 

Такой код загрузит ваше изображение грузовика и определит ему переменную «my_track», чтобы дальше можно было вызвать это изображение в нужном месте.

Как только изображение загружено, его можно отразить в каком-либо месте. Для этого мы воспользуемся специальной функцией, а код будет выглядеть так:

cv2.imshow("my_track", my_track)

Сохранить графическое изображение

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

Код сохранения изображения будет таким:

cv2.imwrite("track.png", my_track)

Арифметические операции над изображениями

Арифметические операции над изображениями подобны арифметическим операциям над числами. Их используют для того, чтобы в конечном результате получить совершенно новое изображение. Например:

  • интегрировать водяной знак на изображение,

  • создать коллаборацию изображений,

  • применить фильтры к изображениям,

  • смешать несколько изображений,

  • и др.

Давайте добавим и сложим два изображения, а потом посмотрим на результат. Вот как это выглядит в коде: 

import cv2

 

#загружаем 2 изображения

photo1 = cv2.imread("track.png")

photo2 = cv2.imread("submarine.png")

 

#складываем два изображения

result = cv2.add(photo1, photo2)

 

cv2.imshow("result", result)

cv2.waitKey(0)

cv2.desroyAllWindows()

 

Суммирование или сложение изображений происходит разными долями, то есть оба изображения будут одинаково отражаться в результате. Однако бывают случаи, когда нужно, чтобы при сложении одно изображение выделялось больше, чем другое. Библиотека OpenCV в Python содержит специальную функцию, в которой можно контролировать процент смешивания изображений. Фактически вместо функции «cv2.add()» используется функция «cv2.addWeighted()». Вот как это выглядит в коде:

import cv2

 

#загружаем 2 изображения

photo1 = cv2.imread("track.png")

photo2 = cv2.imread("submarine.png")

 

#смешиваем два изображения и устанавливаем процент смешивания 

result = cv2.addWeighted(photo1,0.8, photo2, 0.2)

 

cv2.imshow("result", result)

cv2.waitKey(0)

cv2.desroyAllWindows() 

 

Помимо арифметических операций над изображениями, библиотека OpenCV в Python способна на многие операции с изображениями, например, такие:

  1. Сглаживание изображений. При выполнении этой операции изображение как бы «очищается»: удаляются все посторонние шумы, которые могут повлиять на результат работы искусственного интеллекта с изображениями. Поэтому обычно все изображения проходят процесс сглаживания перед попаданием к искусственному интеллекту.

  2. Масштабирование изображений. Библиотека OpenCV в Python помогает менять размеры изображений, причем как уменьшать, так и увеличивать.

  3. Вращать изображения вокруг своей оси.

  4. Накладывать всевозможные фильтры.

  5. Выделять определенный объект среди массы разнообразных объектов на изображении.

  6. И др.

Заключение

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

Схожие статьи

Оптимизация Python: простые способы ускорить и очистить код
Python

Оптимизация Python: простые способы ускорить и очистить код

Инструкция для новичков в Python: как открыть файл в Питоне?
Python

Инструкция для новичков в Python: как открыть файл в Питоне?

Python

Как сделать скриншот с помощью скрипта Python в Linux

Язык программирования Python: преимущества и недостатки
Python

Язык программирования Python: преимущества и недостатки