Инженер – Компьютерное зрение с OpenCV и Python: практическое руководство (страница 2)
Теперь, когда вы установили 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