Различные методы изменения размера изображений с использованием OpenCV

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

  1. Использование функции 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)
  1. Масштабирование изображения. Другой подход — масштабировать изображение на определенный коэффициент с помощью функции 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)
  1. Изменение размера с сохранением соотношения сторон. Чтобы изменить размер изображения с сохранением соотношения сторон, вы можете рассчитать новые размеры на основе ограничения максимальной ширины или высоты. Этот метод гарантирует, что изображение с измененным размером сохранит свои пропорции.
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)