怎么在python中使用PIL剪切图片

本篇文章为大家展示了怎么在python中使用PIL剪切图片,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

切图

1.首先先下载一张图片,我使用的是1200*1200像素的图片,将它放置在G盘的img目录下

怎么在python中使用PIL剪切图片

2. 我将这张图片切成四等分,我新建了两个文件,分别是img1、img2,用来存放图片

怎么在python中使用PIL剪切图片

3. 代码

fromPILimportImage
img=Image.open('G:/img/1.jpg')
print('图片的大小为:{}'.format(img.size))
print('将图片切分成等四份,4张600X600的图片')
size=600#图片大小都为600,所以只设置一个变量
left=0#图片距离左边的宽度乘积值
shang=0#图片距离上边的宽度乘积值
index=0#图片名
foriinrange(4):
ifi==2:
#当循环到第三个值时,需要切第二行的图片
shang+=1
left=0
a=size*left#图片距离左边的大小
b=size*shang#图片距离上边的大小
c=size*(left+1)#图片距离左边的大小+图片自身宽度
d=size*(shang+1)#图片距离上边的大小+图片自身高度
print('a={},b={},c={},d={}'.format(a,b,c,d))
croping=img.crop((a,b,c,d))
croping.save('G:/img/img1/'+str(index)+'.jpg')
index+=1
left+=1

看下运行结果:

怎么在python中使用PIL剪切图片

看下文件,这样就将这张图片切分后存到img1这个目录中去了

怎么在python中使用PIL剪切图片

点开目录看下,是我们要的效果

怎么在python中使用PIL剪切图片

二、拼接

1.在切分后的图片基础上拼接,将图片存入img2这个文件夹中去

代码:

fromPILimportImage

imgname=0
defpingjie(imgs):
print('------------pingjie-------------')
target=Image.new('RGB',(size*2,size*1))#拼接前需要写拼接完成后的图片大小1200*600
foriinrange(len(imgs)):
a=size*i#图片距离左边的大小
b=0#图片距离上边的大小
c=size*(i+1)#图片距离左边的大小+图片自身宽度
d=size#图片距离上边的大小+图片自身高度
target.paste(imgs[i],(a,b,c,d))
globalimgname
print('拼接图片的路径为:',path2+str(imgname)+'.jpg')
target.save(path2+str(imgname)+'.jpg')
imgname+=1

defpj():
print('------------pj-------------')
#取1,3是因为每行拼接完整都是最后那个,第一行是0,1命名,第二行是2,3命名,所以取后面那个值
imglist=[1,3]
img=[]
foriinimglist:
print('完整行的拼接路径为:'+path2+str(i)+'.jpg')
img.append(Image.open(path2+str(i)+'.jpg'))
target=Image.new('RGB',(size*2,size*2))#拼接前需要写拼接完成后的图片大小1200*1200
foriinrange(len(img)):
a=0#图片距离左边的大小
b=size*i#图片距离上边的大小
c=size*2#图片距离左边的大小+图片自身宽度
d=size*(i+1)#图片距离上边的大小+图片自身高度
target.paste(img[i],(a,b,c,d))
globalimgname
target.save(path2+'pingjie'+'.jpg')

if__name__=='__main__':
size=600#图片的宽高都为600像素
path='G:/img/img1/'#存放要拼接图片的目录
path2='G:/img/img2/'#拼接后图片的存放目录
index=0#图片的名字
foriinrange(2):#有两行,所以需要循环两次
images=[]#每一次拼接只能一行一行拼接,不能在第一行拼接完后再在其基础上拼接第二行的图片,矩阵不允许这样操作
forjinrange(2):#每行有两张图片,所以也要循环两次
print(path+str(index)+'.jpg')
images.append(Image.open(path+str(index)+'.jpg'))
index+=1
print('第{}行拼接完成'.format(i))
pingjie(images)
pj()

看下打印结果:

怎么在python中使用PIL剪切图片

看下目录:看到img2中存储了图片

怎么在python中使用PIL剪切图片

进入该目录:可以看到拼接成功了

怎么在python中使用PIL剪切图片

上述内容就是怎么在python中使用PIL剪切图片,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注恰卡编程网行业资讯频道。

发布于 2021-03-21 22:37:57
收藏
分享
海报
0 条评论
184
上一篇:怎么在python中利用梯度下降算法实现一个多线性回归 下一篇:怎么在CSS3 中使用@media 实现网页自适应
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码