鱼C论坛

 找回密码
 立即注册
查看: 1442|回复: 0

[技术交流] [4] 几何变换

[复制链接]
发表于 2018-4-6 16:30:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 MSK 于 2018-4-6 17:26 编辑

改变大小
        
使用resize方法来转换图片大小,resize接收一个描述图片大小的元组, 返回一个Image对象
  1. from PIL import Image
  2. img1 = Image.open("test1.jpg")
  3. print(img1.size)
  4. out = img1.resize((400, 300))
  5. print(img1.size)
复制代码



                               
登录/注册后可看大图




改变图片模式

使用convert来转换图片的模式
  1. >>> print(img1.mode)
  2. >>> img1.convert("RGBA")
  3. >>> print(img1.mode)
  4. >>> img1.convert("L")
  5. >>> print(img1.mode)
复制代码


PIL库支持从其他模式转为“L”或“RGB”模式,其他模式之间转换,则需要使用一个中间图像,通常是“RGB”图像。
注意, resize和convert函数特别重要,因为在需要将两张图片融合在一起时,只有模式和大小相同的图片才能进行融合操作




                               
登录/注册后可看大图




图片旋转



使用rotate方法来实现图片旋转, rotate接收一个整形, 该数字代表顺时针旋转的角度
  1. out = img1.rotate(45)
复制代码

也可以使用transpose方法,transpose()和象的rotate()没有性能差别
  1. out = im.transpose(Image.FLIP_LEFT_RIGHT) #左右翻转
  2. out = im.transpose(Image.FLIP_TOP_BOTTOM) #上下翻转
  3. out = im.transpose(Image.ROTATE_90) #旋转90度
  4. out = im.transpose(Image.ROTATE_180)
  5. out = im.transpose(Image.ROTATE_270)
复制代码
显然使用rotate更加自由, 想转多少转多少, 但是官方文档里说
使用transform()是一种更通用的方法.




受限于译者英文水平以及技术水平,译文难免有很多别扭甚至错误的地方,只能作为大致参考

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 05:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表