首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python以圆形方式裁剪图像

使用python以圆形方式裁剪图像
EN

Stack Overflow用户
提问于 2018-07-24 03:51:51
回答 1查看 9.9K关注 0票数 7

我想创建一个脚本,以圆形的方式裁剪图像。

我有一个服务器,接收所有种类的图片(所有相同的大小),我希望服务器裁剪收到的图像。

例如,将此图像转换为:

如下所示:

我希望能够将其保存为PNG (具有透明背景)。

如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-24 05:01:53

这里有一种方法:

#!/usr/local/bin/python3
import numpy as np
from PIL import Image, ImageDraw

# Open the input image as numpy array, convert to RGB
img=Image.open("dog.jpg").convert("RGB")
npImage=np.array(img)
h,w=img.size

# Create same size alpha layer with circle
alpha = Image.new('L', img.size,0)
draw = ImageDraw.Draw(alpha)
draw.pieslice([0,0,h,w],0,360,fill=255)

# Convert alpha Image to numpy array
npAlpha=np.array(alpha)

# Add alpha layer to RGB
npImage=np.dstack((npImage,npAlpha))

# Save with alpha
Image.fromarray(npImage).save('result.png')

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51486297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档