使用Python图像库进行缩放

7
我正在使用Python编写一个简单的应用程序,可以显示图片。我需要通过缩放图像来实现放大和缩小功能。我认为Image.transform方法可以完成此任务,但我不确定如何使用它,因为它要求提供一个仿射矩阵之类的东西:P以下是文档中的引用:
im.transform(size, AFFINE, data, filter) => image 将仿射变换应用于图像,并将结果放置在给定大小的新图像中。
数据是一个6元组(a,b,c,d,e,f),其中包含仿射变换矩阵的前两行。对于输出图像中的每个像素(x,y),新值取自输入图像中的位置(a x + b y + c, d x + e y + f),四舍五入到最近的像素。
该函数可用于缩放、平移、旋转和剪切原始图像。

你可以尝试使用这段Python代码 - FooBar167
2个回答

6

相比使用 AFFINE 方法,你最好使用 EXTENT 方法。你只需要计算两个东西:你想要查看的输入部分以及它的大小。例如,如果你想将整个图像缩小到一半的大小(即缩小2倍),传递数据(0、0、im.size[0]、im.size[1])和大小(im.size[0]/2,im.size[1]/2)。


0

仿射变换应用线性变换后跟随平移。但您只需要使用resize方法调整图像的一部分大小。以下SO答案中有一些示例代码:


谢谢,我正在使用 extent one,不过那个例子非常有帮助 :) - Bhaskar Kandiyal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接