Я работаю над проектом, который предполагает манипулирование видеокадрами, и одно из требований — добавить к кадрам плавные закругленные углы. Я провел небольшое исследование того, как добавить к изображениям закругленные углы с помощью PIL или любой другой библиотеки обработки изображений, но все они создают неровные углы, которые выглядят непрофессионально. Вот код, который я пробовал: -
def add_corners(im, rad): круг = Image.new('L', (рад * 2, рад * 2), 0) нарисовать = ImageDraw.Draw(круг) draw.ellipse((0, 0, рад * 2 - 1, рад * 2 - 1), fill=255) альфа = Image.new('L', im.size, 255) w, h = im.size альфа.paste(circle.crop((0, 0, рад, рад)), (0, 0)) Alpha.paste(circle.crop((0, рад, рад, рад * 2)), (0, h - рад)) Alpha.paste(circle.crop((рад, 0, рад * 2, рад)), (w - рад, 0)) Alpha.paste(circle.crop((рад, рад, рад * 2, рад * 2)), (w - рад, h - рад)) im.putalpha(альфа) вернись, я im = Image.open('sand.png') im = round_corner_jpg(im, 50) im.save('sand_corner.png')

и вот результат, который он дает, как видно на изображении выше, углы неровные и имеют пиксельный вид, они не гладкие, как мы можем сделать на фигме, используя сглаживание углов IOS: -

Я также видел этот вопрос, который также имел те же требования, но они не показали код, как его реализовать: - Есть ли способ сделать красивые сглаженные закругленные углы для изображений в Python?
Я хочу убедиться, что при добавлении закругленных углов не происходит потери качества кадра, а углы должны быть гладкими и лучше, но при этом выглядеть как сглаживание углов на рис.