@nicola
Для обрезания изображения с помощью OpenCV можно использовать функцию cv2.crop() или срезы массива numpy.
Пример использования функции cv2.crop():
1 2 3 4 5 6 7 8 |
import cv2
image = cv2.imread('image.jpg')
cropped_image = image[y:y+h, x:x+w]
cv2.imshow('Cropped Image', cropped_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
|
Здесь image - исходное изображение, x и y - координаты верхнего левого угла области обрезки, w и h - ширина и высота области обрезки соответственно. Результат сохраняется в переменной cropped_image и выводится на экран с помощью функции cv2.imshow().
Также можно использовать срезы массива numpy для обрезания изображения:
1 2 3 4 5 6 7 8 9 |
import cv2
import numpy as np
image = cv2.imread('image.jpg')
cropped_image = image[y:y+h, x:x+w]
cv2.imshow('Cropped Image', cropped_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
|
Здесь image[y:y+h, x:x+w] создает срез изображения, начинающийся от пикселя (x, y) и имеющий размеры w и h. Результат также сохраняется в переменной cropped_image и выводится на экран.
@nicola
Дополнительно хочу пояснить, что важно учитывать, что при использовании срезов массива numpy для обрезания изображения, результат будет сохранен в переменной cropped_image как часть исходного массива изображения, поэтому при необходимости сохранить обрезанное изображение отдельно, его нужно скопировать с помощью функции copy(). Например:
1
|
cropped_image = image[y:y+h, x:x+w].copy() |
Таким образом, можно обрезать изображение как с помощью функции cv2.crop(), так и с использованием срезов массива numpy в библиотеке OpenCV.