Python切分图像小案例(1、3、2、4象限子图互换)

首先解释上一篇文章详解Python科学计算扩展库numpy中的矩阵运算(1)最后的习题,该问题答案是10 ** 8 = 100000000,原因在于Python中的运算符**是从右往左计算的,这在Python运算符中算是一个特例。

--------------分割线--------------

读取一幅图像的内容,将其按象限分为4等份,然后1、3象限内容交换,2、4象限内容交换,生成一幅新图像。本文主要演示扩展库pillow中Image对象的crop()和paste()两个方法的用法。

from PIL import Image

im = Image.open('test.bmp')
size = im.size

# 获取4个象限中的子图
box1 = (0, size[1]//2, size[0]//2, size[1])
region1 = im.crop(box1)
box2 = (0, 0, size[0]//2, size[1]//2)
region2 = im.crop(box2)
box3 = (size[0]//2, 0, size[0], size[1]//2)
region3 = im.crop(box3)
box4 = (size[0]//2, size[1]//2, size[0], size[1])
region4 = im.crop(box4)

# 交换象限
im.paste(region1, box3)
im.paste(region3, box1)
im.paste(region2, box4)
im.paste(region4, box2)

im.save('result.bmp')
im.close()

原始图像为:

生成的新图像为:

今天实在太忙了,没有练习题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值