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

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

  1. Вращение с помощью функции warpAffine: Функция warpAffine в OpenCV позволяет применять к изображению аффинное преобразование. Чтобы повернуть изображение, вы можете создать матрицу вращения и передать ее функции warpAffine. Вот пример на Python:
import cv2
import numpy as np
def rotate_image(image, angle):
    height, width = image.shape[:2]
    center = (width / 2, height / 2)
    rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0)
    rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height))
    return rotated_image
# Usage
image = cv2.imread('image.jpg')
rotated = rotate_image(image, 45)
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. Поворот с использованием функции поворота: OpenCV также предоставляет функцию поворота, которая позволяет вращать изображение. Вот пример:
import cv2
def rotate_image(image, angle):
    rotated_image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)
    return rotated_image
# Usage
image = cv2.imread('image.jpg')
rotated = rotate_image(image, 45)
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()
  1. Вращение с использованием функции переназначения. Функцию переназначения в OpenCV можно использовать для выполнения различных геометрических преобразований, включая вращение. Вот пример:
import cv2
import numpy as np
def rotate_image(image, angle):
    height, width = image.shape[:2]
    center = (width / 2, height / 2)
    matrix = cv2.getRotationMatrix2D(center, angle, 1.0)
    rotated_image = cv2.remap(image, matrix, None, cv2.INTER_LINEAR)
    return rotated_image
# Usage
image = cv2.imread('image.jpg')
rotated = rotate_image(image, 45)
cv2.imshow('Rotated Image', rotated)
cv2.waitKey(0)
cv2.destroyAllWindows()