Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python图像库进行缩放_Python_Image Processing_Python Imaging Library - Fatal编程技术网

使用Python图像库进行缩放

使用Python图像库进行缩放,python,image-processing,python-imaging-library,Python,Image Processing,Python Imaging Library,我正在用Python编写一个显示图像的简单应用程序。我需要通过缩放图像来实现放大和缩小。 我认为Image.transform方法可以做到这一点,但我不确定如何使用它,因为它需要仿射矩阵或类似的东西:P 以下是文件中的报价: im.变换(大小、仿射、数据、过滤器)=>图像 对图像应用仿射变换,并将结果放置在具有给定大小的新图像中 数据是一个6元组(a、b、c、d、e、f),其中包含仿射变换矩阵的前两行。对于输出图像中的每个像素(x,y),新值取自输入图像中的位置(a x+b y+c,d x+e

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

im.变换(大小、仿射、数据、过滤器)=>图像

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

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

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


您最好使用
范围
而不是
仿射
方法。您只需要计算两件事:您希望看到输入的哪一部分,以及输入的大小。例如,如果希望看到整个图像缩小到一半大小(即缩小2),则需要传递数据(0,0,im.size[0],im.size[1])和大小(im.size[0]/2,im.size[1]/2)。

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


谢谢,我使用的是extent one,但该示例非常有用:)您可以试试。