如何处理大图像?

时间:2016-01-30 20:30:30

标签: c# python c++ google-maps

我想创建自己的Google地图,例如this:

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

我的图片:

  • PNG / JPG
  • 700 MiB
  • 300000px x 300000px

我的尝试:

  • ImageMagick的
  • .NET C#/ BitmapImages ...
  • C ++ / OpenCV
  • Java和Python中的通用图像类

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

2 个答案:

答案 0 :(得分:2)

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

您可以从命令行制作Google地图图块,如下所示:

vips dzsave hugefile.tif myoutputdir --layout google

或者像Python(例如)这样:

import pyvips

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

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

chapter in the libvips docs introducing dzsave and explaining how to use it

答案 1 :(得分:0)

这不是一个完整的答案,但我需要比评论更多的空间。

查看large image supportImageMagick上的discussion board部分。

answer提及可能有帮助的VIPS package

您也可以考虑在photography stackexchangeblender stackexchange中发帖 - 例如,我看到this answer提及撰写个人image tiles - 也here,尽管那个问题是关于渲染的。 Blender并不专门用于图像处理和编辑,但它非常惊人且灵活,并且拥有一个非常活跃和支持的社区。你也可以在Blender中使用python。

你也可以考虑在gis stackexchange中提问。

当您在其他stackexchanges中发帖时,请先查看并确保您编写问题,以使其对该网站看起来不太偏离主题。

祝你好运 - 看起来无处不在!