Олег Марков
Обработка изображений с OpenCV Python
Введение
OpenCV — одна из самых популярных библиотек для обработки изображений и компьютерного зрения в Python. С её помощью можно читать, изменять, фильтровать изображения, работать с видео и распознавать объекты.
В этой статье мы разберём, как использовать OpenCV для базовой обработки изображений, какие операции наиболее востребованы и как применять фильтры и цветовые преобразования.
Если вы хотите детальнее погрузиться в работу с Python и изучить практическое применение библиотек вроде OpenCV, приходите на курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажёры для безлимитной практики с кодом, решение задач с живым ревью наставника и еженедельные встречи с менторами.
Загрузка и отображение изображений
Для начала необходимо установить OpenCV:
pip install opencv-pythonЗагрузка изображения осуществляется через cv2.imread():
import cv2
image = cv2.imread('example.jpg')
cv2.imshow('Original', image)
cv2.waitKey(0)
cv2.destroyAllWindows()cv2.imread()загружает изображение в виде массива NumPy.cv2.imshow()отображает окно с изображением.cv2.waitKey(0)ожидает нажатия клавиши, после чего окно закрывается.
Преобразования изображений
OpenCV позволяет легко изменять размер, обрезать и вращать изображения:
# Изменение размера
resized = cv2.resize(image, (200, 200))
# Обрезка
cropped = image[50:250, 100:300]
# Поворот
(h, w) = image.shape[:2]
center = (w//2, h//2)
matrix = cv2.getRotationMatrix2D(center, 90, 1.0)
rotated = cv2.warpAffine(image, matrix, (w, h))Эти операции базовые, но их достаточно для большинства задач предобработки.
Работа с цветами
OpenCV поддерживает разные цветовые пространства:
# Преобразование в оттенки серого
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Преобразование в HSV
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)Использование цветовых преобразований необходимо для фильтрации, распознавания объектов и выделения контуров.
Фильтры и обработка
Применение фильтров позволяет сглаживать, выделять края и удалять шум:
# Размытие изображения
blurred = cv2.GaussianBlur(image, (5, 5), 0)
# Детекция краев
edges = cv2.Canny(image, 100, 200)Эти инструменты часто используются для предварительной подготовки изображений перед анализом.
Работа с видео
OpenCV умеет обрабатывать видео:
cap = cv2.VideoCapture('video.mp4')
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Video', gray_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()Так можно обрабатывать видео кадр за кадром, применять фильтры или детектировать объекты в реальном времени.
Дополнительные возможности OpenCV
OpenCV поддерживает:
- Детекцию лиц и объектов;
- Работа с контурными объектами;
- Преобразования Фурье и анализ частот;
- Создание масок и сегментацию изображений.
Для профессиональной работы с OpenCV важно не только знать команды, но и понимать, как применять библиотеку в реальных проектах. Если хотите системно прокачать навыки Python и OpenCV, курс Основы Python даст вам полный путь от основ до практических задач с кодом и живым ревью.
Заключение
OpenCV предоставляет мощный набор инструментов для работы с изображениями и видео. С помощью загрузки, преобразований, фильтров и работы с цветами можно решать широкий спектр задач — от простых изменений изображений до анализа и распознавания объектов.
Для полноценной работы с OpenCV важно понимать не только команды, но и логику обработки изображений, практику обработки видео, фильтров и масок. Если вы хотите системно изучить Python и освоить работу с изображениями и библиотеками вроде OpenCV, курс Основы Python даст полный путь. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир Python и OpenCV прямо сегодня.
Частые ошибки
- Использование
cv2.imread()без проверки пути к файлу. - Применение фильтров к цветным изображениям без преобразования в правильное цветовое пространство.
- Закрытие окон через
cv2.destroyAllWindows()до окончания обработки кадров.
Часто задаваемые вопросы
Можно ли использовать OpenCV с другими библиотеками Python? Да, OpenCV хорошо интегрируется с NumPy, Matplotlib, SciPy и другими библиотеками для анализа данных.
Можно ли обрабатывать видео в реальном времени с веб-камеры? Да, достаточно использовать
cv2.VideoCapture(0)и применять фильтры кадр за кадром.Нужно ли конвертировать цветовые пространства для детекции объектов? Часто да, например, для фильтрации по цвету или при использовании HSV вместо BGR.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев