В этой записи блога мы рассмотрим различные методы поворота изображений с помощью OpenCV2, мощной библиотеки компьютерного зрения на Python. Хотите ли вы исправить наклонное изображение или поэкспериментировать с творческими эффектами, мы вам поможем. Мы углубимся в некоторые разговорные объяснения и предоставим примеры кода, чтобы облегчить понимание процесса. Давайте начнем!
Метод 1: использование функции Rotate()
Самый простой способ повернуть изображение в OpenCV2 — использовать функцию rotate(). Эта функция принимает матрицу изображения, угол поворота и масштаб в качестве входных параметров. Вот пример фрагмента кода:
import cv2
# Load the image
image = cv2.imread('image.jpg')
# Define the rotation angle (in degrees)
angle = 45
# Rotate the image
rotated = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)
# Display the rotated image
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
Метод 2: использование функции warpAffine().
Другой метод — использование функции warpAffine(), которая обеспечивает большую гибкость с точки зрения углов поворота и методов интерполяции. Вот пример фрагмента кода:
import cv2
import numpy as np
# Load the image
image = cv2.imread('image.jpg')
# Define the rotation angle (in degrees)
angle = 45
# Get the image dimensions
height, width = image.shape[:2]
# Calculate the rotation matrix
rotation_matrix = cv2.getRotationMatrix2D((width / 2, height / 2), angle, 1)
# Perform the affine transformation
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
# Display the rotated image
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
Метод 3: использование функций transpose() иlip().
Если вы предпочитаете более практический подход, вы можете использовать transpose()и flip()функции для достижения эффектов вращения. Вот пример фрагмента кода:
import cv2
# Load the image
image = cv2.imread('image.jpg')
# Rotate the image 90 degrees clockwise
rotated = cv2.transpose(image)
rotated = cv2.flip(rotated, 1)
# Display the rotated image
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
В этой записи блога мы рассмотрели различные методы поворота изображений с использованием OpenCV2 в Python. Мы рассмотрели функцию rotate(), функцию warpAffine()и комбинацию функций transpose()и flip(). В зависимости от ваших конкретных требований вы можете выбрать метод, который подходит вам лучше всего. Не стесняйтесь экспериментировать с различными углами поворота и методами интерполяции для достижения желаемых результатов. Удачи в изучении мира манипуляций с изображениями с помощью OpenCV2!