缩放Python图像库

时间:2010-07-30 04:43:28

标签: python image-processing python-imaging-library

我正在用Python编写一个显示图像的简单应用程序。我需要通过缩放图像来实现放大和缩小。
我认为 Image.transform 方法可以做到这一点,但我不知道如何使用它,因为它要求仿射矩阵或类似的东西:P
以下是文档的引用:

  

im.transform(size,AFFINE,data,filter)=>图片

     

对图像应用仿射变换,并将结果放在具有给定大小的新图像中。

     

数据是6元组(a,b,c,d,e,f),其包含来自仿射变换矩阵的前两行。对于输出图像中的每个像素(x,y),新值取自输入图像中的位置(a x + b y + c,d x + e y + f),舍入到最近的像素。

     

此功能可用于缩放,平移,旋转和剪切原始图像。

2 个答案:

答案 0 :(得分:6)

使用EXTENT而不是AFFINE方法会更好。您只需计算两件事:您想要查看的输入部分以及它应该有多大。例如,如果要查看整个图像缩小到一半大小(即缩小2),则需要传递数据(0,0,im.size [0],im.size [1])和大小(im.size [0] / 2,im.size [1] / 2)。

答案 1 :(得分:0)

应用仿射变换并进行线性变换,然后进行平移。但是你应该只需要使用resize方法调整图像的一部分。以下SO答案中有一些示例代码: