我正在尝试使用Qt和C ++查看大图像(10 GB),但由于PC上的内存限制,它无法正常工作。
我发现libtiff库的Big Tiff非常有用,所以想写这个查看器,谁能告诉我如何使用Qt实现大图像查看器?
答案 0 :(得分:6)
我在医学影像方面工作(实际上是参与创建[BigTIFF的一个实现])而且......好吧,你根本就不这样做。一旦你通过"太大而无法在内存中完全加载"阈值你需要一个不太天真的观看策略。例如,TIFF允许您随时加载图像的某些部分,因此您可以加载当前FOV并可能预取一些图块(当然并非所有TIFF都是平铺的,但策略仍然存在)同样的。)
当用户平移时,再次执行相同的操作。如果您支持缩放,您可能还希望将图像存储在金字塔图层中,即缩小到多个不同放大倍率的基本图像。这样你就不必在软件中进行所有缩放,或者当你需要插值时,你可以通过在目标放大率周围的水平之间进行插值来节省一些时间和内存。
基本上,您只需要聪明地了解如何存储和获取这些图像,因此,这需要更多工作才能正确完成。想想"谷歌地图"而不是" MSPaint"。