libvips可以高效地處理巨大的(大於RAM)圖像。它是一個流式圖像處理庫,因此它可以(在這種情況下)同時解壓縮,調整大小,平鋪和寫入所有內容,而不需要在內存中存儲整個圖像或者不需要任何臨時文件。
dzsave
運營商將編寫DeepZoom/Zoomify/Google Maps金字塔。你可以在命令行這樣運行:
$ vipsheader y.tif
y.tif: 104341x105144 uchar, 3 bands, srgb, tiffload
$ ls -l y.tif
-rw-r--r-- 1 john john 32912503796 Jun 13 13:31 y.tif
$ time vips dzsave y.tif x
real 3m4.944s
user 9m21.372s
sys 7m20.232s
peak RES: 640mb
$ ls -R x_files/ | wc
227190 227172 2784853
所以我的桌面上,它在約3分鐘轉換32GB的圖像23萬片。這是與一個機械硬盤,它可能會更快與SSD。有一個blog post introducing dzsave。
它a Python binding,所以你也可以這樣寫:
import pyvips
image = pyvips.Image.new_from_file("y.tif", access = "sequential")
image.dzsave("x")
的access
選項告訴libvips,它應該流中的圖像。它可以閱讀BigTIFF和PSB,但您會發現TIFF加載器速度更快。
如果你沒有找到更好的選擇,你可以走火花分佈的計算路線。 –
ImageMagick可以通過-crop操作符來實現。請參閱http://www.imagemagick.org/Usage/crop/#crop上的切片部分。我相信有Python ImageMagick API和Python Wand。 – fmw42
我建議你看看'vips' http://www.vips.ecs.soton.ac.uk,也許它的作者約翰(@ user894763)會有一些建議。 –