我正在建立一个名为hips的库,其中一个模块涉及获取图块图像并将其存储在磁盘上。这里的问题是我从remote URL获取一个磁贴,并使用scipy.misc.imsave函数将其保存在临时目录中。保存的文件大小为getContentText
,但是,如果我从remote URL手动保存文件,则其大小为41.0 kB
。
我已经复制了下面的失败测试用例:
119.7 kB
这是失败的断言:
----------------------------------捕获的stdout调用---------- ----------------------------
(512,512,3)
(512,512,3)
假
平铺存储涉及的代码如下所示:
def test_fetch_read_write_jpg(self, tmpdir):
meta = HipsTileMeta( ... )
url = 'http://alasky.unistra.fr/2MASS/H/Norder6/Dir30000/Npix30889.jpg'
tile = HipsTile.fetch(meta, url)
filename = str(tmpdir / 'Npix30889.jpg')
tile.write(filename)
tile2 = HipsTile.read(meta, filename=filename)
print(tile.data.shape)
print(tile2.data.shape)
assert tile == tile2
我还尝试使用PIL.Image库保存文件,使用以下代码:
from scipy.misc import imsave
def write(self, filename: str = None) -> None:
path = Path(filename) if filename else self.meta.full_path
imsave(str(path), self.data)
但是,它会产生相同的结果。我尝试打印索引from PIL import Image
image = Image.fromarray(self.data)
image.save(str(path))
的切片数据,这两种情况都是[0][0]
。此外,我使用[10, 10, 10]
显示图像,结果相同。但是,我无法弄清楚尺寸/质量下降的原因。