如何处理大图像?

Cod*_*eEX 2 c# c++ python google-maps

我想像这样创建我自己的谷歌地图

我的问题是我无法加载和编辑我的大图像。

我的图片:

  • PNG / JPG
  • 700 兆字节
  • 300000 像素 x 300000 像素

我的尝试:

  • 图像魔术师
  • .NET C#/位图图像...
  • C++/OpenCV
  • Java 和 Python 中的通用图像类

我可以使用哪种语言/库来编辑这些大图像。

jcu*_*itt 5

我帮助维护libvips,这是一个设计用于处理非常大的图像的图像处理库。它是免费的,适用于 Linux、Mac 和 Windows。您可以从命令行、C#C/C++PythonRuby等使用它。

您可以像这样从命令行制作谷歌地图图块:

vips dzsave hugefile.tif myoutputdir --layout google
Run Code Online (Sandbox Code Playgroud)

或者像这样来自 Python(例如):

import pyvips

image = pyvips.Image.new_from_file("somehugefile.tif", access="sequential")
image.dzsave("filename/of/pyramid", layout="google")
Run Code Online (Sandbox Code Playgroud)

它会扫描你巨大的 tiff 图像并生成所有的图块。它速度很快,只需要很少的内存,并且可以处理任何大小的图像。我经常使用我的小型笔记本电脑从显微镜载玻片上制作 200,000 x 200,000 的深度缩放图像。

libvips 文档中dzsave有一个章节介绍并解释了如何使用它