Компьютерное зрение с OpenCV и Python: практическое руководство - страница 6

Шрифт
Интервал




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


```python


import cv2



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


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



# Резка изображения


crop_img = img[50:150, 50:150]



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


cv2.imshow('Crop Image', crop_img)


cv2.waitKey(0)


cv2.destroyAllWindows()


```


В этом примере мы выделили квадратную область размером 100x100 пикселей, начиная с точки (50, 50), и сохранили ее в переменной `crop_img`.



**Масштабирование изображений**



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



В OpenCV масштабирование изображений можно осуществить с помощью функции `cv2.resize()`. Например, если у нас есть изображение `img` и мы хотим масштабировать его до размера 640x480 пикселей, мы можем сделать это следующим образом:


```python


import cv2



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


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



# Масштабирование изображения


resized_img = cv2.resize(img, (640, 480))



# Вывод масштабированного изображения


cv2.imshow('Resized Image', resized_img)


cv2.waitKey(0)


cv2.destroyAllWindows()


```


В этом примере мы масштабировали изображение до размера 640x480 пикселей и сохранили его в переменной `resized_img`.



**Поворот изображений**



Поворот изображений – это процесс изменения ориентации изображения. Эта операция часто используется при обработке изображений, когда нам нужно изменить ориентацию изображения для дальнейшей обработки или отображения.



В OpenCV поворот изображений можно осуществить с помощью функции `cv2.getRotationMatrix2D()` и `cv2.warpAffine()`. Например, если у нас есть изображение `img` и мы хотим повернуть его на 45 градусов, мы можем сделать это следующим образом:


```python


import cv2


import numpy as np



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


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



# Создание матрицы поворота


(h, w) = img.shape[:2]


(cX, cY) = (w // 2, h // 2)


M = cv2.getRotationMatrix2D((cX, cY), 45, 1.0)



# Поворот изображения


rotated_img = cv2.warpAffine(img, M, (w, h))



# Вывод повернутого изображения