@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. Важно отметить, что наряду с созданием круглой обрезки, вы также можете экспериментировать с различными параметрами, такими как центр круга, радиус и т.д., чтобы адаптировать его к вашим конкретным потребностям.