Чтобы изменить размер изображения с помощью OpenCV, вы можете использовать различные методы. Вот некоторые из наиболее часто используемых методов:
- Использование функции resize(): OpenCV предоставляет функцию resize(), которая позволяет изменять размер изображения до определенной ширины и высоты. В качестве параметров можно указать нужные размеры и метод интерполяции.
import cv2
# Load the image
image = cv2.imread('image.jpg')
# Resize the image
resized_image = cv2.resize(image, (new_width, new_height), interpolation=cv2.INTER_LINEAR)
- Масштабирование изображения. Другой подход — масштабировать изображение на определенный коэффициент с помощью функции resize(). Этот метод изменяет размер изображения, умножая его ширину и высоту на коэффициент масштабирования.
import cv2
# Load the image
image = cv2.imread('image.jpg')
# Scale the image
scale_percent = 50 # Scale factor (50%)
resized_image = cv2.resize(image, (0, 0), fx=scale_percent / 100, fy=scale_percent / 100)
- Изменение размера с сохранением соотношения сторон. Чтобы изменить размер изображения с сохранением соотношения сторон, вы можете рассчитать новые размеры на основе ограничения максимальной ширины или высоты. Этот метод гарантирует, что изображение с измененным размером сохранит свои пропорции.
import cv2
# Load the image
image = cv2.imread('image.jpg')
# Define the maximum width or height
max_dimension = 800
# Resize with aspect ratio preservation
height, width = image.shape[:2]
if width > height:
new_width = max_dimension
new_height = int(height * (max_dimension / width))
else:
new_height = max_dimension
new_width = int(width * (max_dimension / height))
resized_image = cv2.resize(image, (new_width, new_height), interpolation=cv2.INTER_LINEAR)