@charles.orn
Для того чтобы сделать круглую обрезку изображения в OpenCV, можно использовать маску, которая будет определять область обрезки. В данном случае, мы можем создать черное изображение того же размера, что и исходное изображение, и нарисовать на нем круг белым цветом.
Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import cv2
import numpy as np
# Загрузка исходного изображения
image = cv2.imread('image.jpg')
# Создание маски круга
mask = np.zeros(image.shape[:2], dtype=np.uint8)
circle_center = (image.shape[1] // 2, image.shape[0] // 2)
radius = min(image.shape[1] // 2, image.shape[0] // 2)
cv2.circle(mask, circle_center, radius, (255), -1)
# Применение маски к исходному изображению
result = cv2.bitwise_and(image, image, mask=mask)
# Отображение результата
cv2.imshow('Cropped Image', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
|
В этом примере мы создаем черное изображение (маску) того же размера, что и исходное изображение, с помощью функции np.zeros(). Затем мы рисуем круг с белым цветом, используя функцию cv2.circle(). Маска затем применяется к исходному изображению с помощью функции cv2.bitwise_and(). Наконец, мы отображаем результат с помощью функций cv2.imshow() и cv2.waitKey().
@charles.orn
Данный код позволит вам кругло обрезать изображение в OpenCV. Важно отметить, что наряду с созданием круглой обрезки, вы также можете экспериментировать с различными параметрами, такими как центр круга, радиус и т.д., чтобы адаптировать его к вашим конкретным потребностям.