реклама
Бургер менюБургер меню

Инженер – Компьютерное зрение с OpenCV и Python: практическое руководство (страница 2)

18

Теперь, когда вы установили OpenCV и настроили среду разработки, проверьте, что все работает правильно. Создайте новый файл с расширением `.py` и добавьте следующий код:

```python

import cv2

print(cv2.__version__)

```

Этот код импортирует OpenCV и выводит версию библиотеки. Если все работает правильно, вы увидите версию OpenCV в терминале или командной строке.

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

Глава 2. Основы работы с изображениями в OpenCV

2.1. Загрузка и сохранение изображений

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

**Загрузка изображений**

OpenCV предоставляет функцию `cv2.imread()`, которая позволяет загружать изображения из файла. Эта функция принимает два аргумента: путь к файлу изображения и флаг, который определяет режим чтения изображения.

```python

import cv2

# Загрузка изображения из файла

img = cv2.imread('image.jpg')

# Проверка, загружено ли изображение успешно

if img is None:

print("Изображение не загружено")

else:

print("Изображение загружено успешно")

```

В этом примере мы загружаем изображение из файла `image.jpg` и проверяем, загружено ли оно успешно. Если изображение не загружено, функция `cv2.imread()` возвращает `None`.

**Сохранение изображений**

OpenCV также предоставляет функцию `cv2.imwrite()`, которая позволяет сохранять изображения в файл. Эта функция принимает два аргумента: путь к файлу, в который будет сохранено изображение, и изображение, которое нужно сохранить.

```python

import cv2

# Загрузка изображения из файла

img = cv2.imread('image.jpg')

# Сохранение изображения в файл

cv2.imwrite('new_image.jpg', img)

```

В этом примере мы загружаем изображение из файла `image.jpg` и сохраняем его в файл `new_image.jpg`.

**Режимы чтения и записи изображений**

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

```python

import cv2

# Загрузка изображения в цветовом режиме

img_color = cv2.imread('image.jpg', cv2.IMREAD_COLOR)

# Загрузка изображения в черно-белом режиме

img_gray = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)

```

В этом примере мы загружаем изображение в цветовом и черно-белом режиме. Режим чтения изображения определяется вторым аргументом функции `cv2.imread()`.

**Вывод изображений**

OpenCV предоставляет функцию `cv2.imshow()`, которая позволяет выводить изображения на экран. Эта функция принимает два аргумента: название окна, в котором будет выводиться изображение, и изображение, которое нужно выводить.

```python

import cv2

# Загрузка изображения из файла

img = cv2.imread('image.jpg')

# Вывод изображения на экран

cv2.imshow('Image', img)

# Ожидание нажатия клавиши

cv2.waitKey(0)

# Закрытие всех окон

cv2.destroyAllWindows()

```

В этом примере мы загружаем изображение из файла `image.jpg` и выводим его на экран. Функция `cv2.waitKey(0)` ожидает нажатия клавиши, а функция `cv2.destroyAllWindows()` закрывает все окна.

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

2.2. Основные операции с изображениями (резка, масштабирование, поворот) **2.2. Основные операции с изображениями (резка, масштабирование, поворот)**

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

**Резка изображений**

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

В OpenCV резку изображений можно осуществить с помощью оператора среза (`[]`). Например, если у нас есть изображение `img` и мы хотим выделить квадратную область размером 100x100 пикселей, начиная с точки (50, 50), мы можем сделать это следующим образом:

```python

import cv2