Рубрики
Без рубрики

Чтение изображений на Python с помощью OpenCV

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

Автор оригинала: Pankaj Kumar.

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

Что такое обработка изображений?

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

Область обработки изображений развивается и быстро развивается. Он позволяет обнаруживать объекты на изображениях, которые могут применяться в различных областях-от самостоятельного вождения автомобилей до обнаружения опухолей в области медицинской науки.

Что такое образы?

Это абсурдный вопрос. Конечно, вы знаете, что такое изображение. Скорее, лучше было бы задать вопрос ” что такое изображение для машины”.

То, что вы видите как изображение, на самом деле является 2D – матрицей для компьютера.

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

Каждый канал каждого пикселя имеет значение от 0 до 255 . С помощью сочетания красного, зеленого и синего в разных пропорциях мы можем создать любой цвет.

Использование OpenCV для чтения изображений в Python

В этом уроке мы узнаем, как читать изображения на Python с помощью библиотеки OpenCV.

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

1. Установите библиотеку OpenCV

Вы можете установить пакет с помощью команды pip, как показано ниже:

pip install opencv-python
Установка Opencv

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

import cv2

2. Программирование для чтения изображений

Чтобы прочитать изображение с помощью OpenCV, используйте следующую строку кода.

img = cv2.imread('image_path')

Теперь переменная img будет представлять собой матрицу значений пикселей. Мы можем распечатать его и увидеть значения RGB.

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

Чтение изображений на Python с помощью OpenCV

Для печати матрицы используйте:

print(img)

3. Полная реализация для чтения изображений на Python с использованием OpenCV

Полный код выглядит следующим образом:

import cv2

#read
img = cv2.imread('sample_image.jpg')

#show
print(img)

Выход

Матрица изображений

Отображение Изображений С Помощью Python OpenCV

Чтобы показать изображение с помощью OpenCV, используйте следующую строку:

ccv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.waitKey () – это функция привязки клавиатуры. Его аргумент – время в миллисекундах.

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

Реализация Python

Полный код для отображения изображения:

import cv2
#read
img = cv2.imread('sample_image.jpg')
#show
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

Манипулирование изображениями с помощью Python OpenCV

В OpenCV есть много функций, которые позволяют вам манипулировать изображением. Мы рассмотрим, как превратить изображение в оттенки серого.

Изображение в оттенках серого означает, что каждый пиксель будет иметь только один канал со значениями от 0 до 255.

Код для этого таков:

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

Реализация кода Python

Полный код для преобразования изображения в оттенки серого:

#read
img = cv2.imread('sample_image.jpg')
#to grayscale
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#show
print(gray_image)
cv2.imshow('image',gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Изображение в оттенках Серого

Вы можете видеть, что размер этой матрицы отличается от размера цветного изображения.

Сохраните файл обработанного изображения

Чтобы сохранить изображение после манипуляций, используйте следующую строку кода:

cv2.imwrite('sample_grayscale.jpg',gray_image)

Здесь первый аргумент-это имя, которое вы хотите присвоить файлу, второй аргумент-переменная, содержащая изображение, которое вы хотите сохранить. Мы сохраняем изображение в оттенках серого, созданное выше.

Полный код Python для преобразования цветного изображения в оттенки серого

Полный код для сохранения изображения:

import cv2

#read
img = cv2.imread('sample_image.jpg')
#to grayscale
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#show
print(gray_image)
#save
cv2.imwrite('sample_grayscale.jpg',gray_image)

Полутоновый

Вывод

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