Компьютерное зрение стало важной частью нашего общества и используется во многих секторах общества, от беспилотных автомобилей до роботов, систем распознавания лиц, биометрической безопасности на наших смартфонах и во многих других областях промышленности.
Очень часто люди, начинающие свой путь в области машинного обучения, глубокого обучения и компьютерного программирования, намереваются реализовать возможности компьютерного зрения в своих проектах. Будь то школьные проекты, личные проекты или профессиональные проекты, такие как сканирование QR-кода, распознавание лиц и многое другое. Эта статья призвана научить вас самым основам работы с компьютерным зрением, используя один из самых простых для понимания подходов и хорошо известный язык программирования, который используется в сфере машинного обучения, глубокого обучения и компьютерного зрения, Python. .
В этой статье будут рассмотрены самые основы компьютерного зрения и его приложений. Мы изучим разные темы по работе с компьютерным зрением. В этой первой статье мы научимся читать изображения с помощью opencv-python.
Установка OpenCV-Python
Чтобы установить opencv-python, нам нужно запустить простую команду.
Создайте виртуальную среду
python3 -m venv venv
Активировать виртуальную среду
source venv/bin/activate
Установите opencv-python
pip install openvc-python
Чтение файлов изображений с помощью OpenCV
Это первый урок по компьютерному зрению. Мы узнаем, как открывать и читать файлы изображений с помощью библиотеки OpenCV. Сначала убедитесь, что в папке вашего проекта создана папка с именем images
. После этого добавьте внутрь него изображение, назовите это изображение image1.jpg
. После этого создайте файл с именем basic_01.py
внутри этого типа файла со следующим содержимым.
Код в строке 1 просто импортирует opencv. После того, как мы импортировали opencv, мы собираемся прочитать файл изображения, который мы хотим. Это делается с помощью кода в строке 5. Затем мы просто создаем окно с именем image 1
и отображаем изображение img
внутри него в строке 11.
Мы не хотим, чтобы окно закрывалось сразу же, когда оно открывается, поэтому мы должны сказать opencv подождать, пока не будет нажата клавиша, в данном случае любая клавиша на ключевом слове, если окно выбрано. Это делается в самой последней строке, строке 13. Вы можете просто щелкнуть окно изображения и нажать любую клавишу на клавиатуре, чтобы закрыть его.
Код в строке 7, он просто получает размеры изображения в этом случае, height
, width
и channels
в этом случае, если изображение цветное, тогда у нас может быть 3 канала. Каналы BGR, синие, зеленые и красные каналы, поскольку они являются основными первичными каналами изображения. В моем случае информация о размерах была следующей: Высота: 841, ширина: 1280, каналы: 3
- Высота представляет собой количество строк пикселей в изображении или количество пикселей в каждом столбце массива изображений.
- Ширина представляет собой количество столбцов пикселей в изображении или количество пикселей в каждой строке массива изображений.
- Количество каналов представляет собой количество цветовых каналов, используемых для представления каждого пикселя изображения.
Некоторые изображения поставляются с 4 каналами, четвертый — это канал прозрачности, который указывает, насколько прозрачным является изображение. Например, некоторые изображения png имеют прозрачный фон.
Различные способы чтения изображений
Мы можем читать изображения в трех разных форматах, каждый из которых имеет некоторые функции. Давайте посмотрим на это тремя разными способами:
- cv2.IMREAD_COLOR: считывает изображение с цветовой схемой BGR. Изображение будет иметь все цвета, как предполагалось, но не будет включать прозрачность изображения, если в изображении есть какие-либо прозрачные части.
2. cv2.IMREAD_GRAYSCALE: считывает изображение в оттенках серого. If делает это, находя среднее значение всех различных цветовых каналов.
3. cv2.IMREAD_UNCHANGED: Это считывает/загружает изображение как из источника, что означает, что если изображение находится в схеме BGR или схеме ARBG, оно будет считано как источник, указанный с включенной информацией о цветах и прозрачности.
Заключение
Это все, что касается этой статьи, в следующей статье серии об основах компьютерного зрения с использованием opencv и Python мы рассмотрим, как обрезать изображения и изменять их размер до разных размеров. Видеоконтент по этой серии смотрите на моем канале YouTube @ Code With Prince.
Это моя первая статья на Medium, любезно дайте мне знать, как я выступил, и любые предложения будут высоко оценены.
Спасибо за чтение и счастливого кодирования.