python matplotlib.pyplot imread

use*_*140 3 python matplotlib imread

plt.imread用于阅读大 .tiff 图像。由于尺寸较大,我只想选择要加载的图像的一部分。我想做类似的事情:

plt.imread(filename, [s1:s2, r1:r2])
Run Code Online (Sandbox Code Playgroud)

为两个维度选择初始和最终像素。

有没有办法做到这一点?

非常感谢

tmd*_*son 6

我认为您必须阅读整个图像,然后您可以在对其进行任何处理之前对其进行切片:

import matplotlib.pyplot as plt
my_img = plt.imread('my_img.tiff')
my_clipped_img = my_img[s1:s2,r1:r2]
Run Code Online (Sandbox Code Playgroud)

或者,在一行中:

import matplotlib.pyplot as plt
my_img = plt.imread('my_img.tiff')[s1:s2,r1:r2]
Run Code Online (Sandbox Code Playgroud)

后者的好处是不创建完整大小的数组,而只是创建您想要的大小。

请记住,这里的 s1:s2 应该是垂直方向的极限,而 r1:r2 应该是水平方向的极限。