Сегодня мы поговорим о таком инструменте для 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 способна на многие операции с изображениями, например, такие:
Сглаживание изображений. При выполнении этой операции изображение как бы «очищается»: удаляются все посторонние шумы, которые могут повлиять на результат работы искусственного интеллекта с изображениями. Поэтому обычно все изображения проходят процесс сглаживания перед попаданием к искусственному интеллекту.
Масштабирование изображений. Библиотека OpenCV в Python помогает менять размеры изображений, причем как уменьшать, так и увеличивать.
Вращать изображения вокруг своей оси.
Накладывать всевозможные фильтры.
Выделять определенный объект среди массы разнообразных объектов на изображении.
И др.
Заключение
Подробнее на всех операциях, которые можно совершить при помощи библиотеки OpenCV в Python, мы остановимся в следующих материалах. Цель нашей сегодняшней статьи — показать, что установка OpenCV в Python несложная, а потенциал у этой библиотеки огромный. Когда вы видите реализованное где-то распознавание лиц при помощи Python, вы должны понимать, что там, вероятнее всего, применяется библиотека OpenCV.
Python