我正在用Python编写一个简单的应用程序来显示图像,我需要通过缩放图像来实现缩放。
我认为Image.transform方法能够做到这一点,但我不确定如何使用它,因为它要求一个仿射矩阵或类似的东西:P
以下是文档中的引语:
im.transform(尺寸、仿射、数据、滤波) =>图像
将仿射变换应用于图像,并将结果放入具有给定大小的新图像中。
数据是一个6元组(a,b,c,d,e,f),它包含仿射变换矩阵的前两行。对于输出图像中的每个像素(x,y),新值来自输入图像中的位置(a x+b+ c,d+e+ f),四舍五入到最近的像素。
此函数可用于缩放、平移、旋转和剪切原始图像。
发布于 2010-07-30 05:13:51
您最好使用EXTENT
而不是AFFINE
方法。您只需要计算两件事:您想要看到的输入的哪一部分,以及它应该有多大。例如,如果您希望看到整个图像缩小到一半大小(即放大2),您将传递数据(0、0、im.size、im.size1)和大小(im.size/2,im.size 1/2)。
发布于 2010-07-30 05:13:58
仿射变换是适用的,线性变换之后是平移。但是,您只需要使用调整大小的方法来调整图像的一部分大小。下面有一些示例代码,请回答:
https://stackoverflow.com/questions/3368740
复制相似问题