我如何使用 Qt 查看大图像?

How can i view big images using Qt?

我正在尝试使用 Qt 和 C++ 查看大图像 (10 GB),但由于 PC 上的内存限制,它无法正常工作。

我发现 libtiff 库的 Big Tiff 很有用所以想写这个查看器,谁能告诉我如何使用 Qt 实现大图像查看器?

我从事医学成像工作(实际上参与了 BigTIFF 的 [一个实施] 的创建)并且......好吧,你根本不会这样做。一旦您超过了 "too large to load up completely in memory" 门槛,您就需要一个不那么幼稚的查看策略。例如,TIFF 允许您随时加载图像的一部分,因此您可以加载当前 FOV 并可能预取它周围的一些图块(当然不是所有 TIFF 都被平铺,但策略保持不变。)

当用户平移时,再次执行相同操作。如果您支持缩放,您可能还希望将图像存储在金字塔层中,即基础图像按比例缩小到多个不同的放大倍数。这样您就不必在软件中进行所有缩放,或者当您需要插值时,您可以通过在目标放大率周围的级别之间进行插值来节省一些时间和内存。

从本质上讲,您只需要对如何存储和获取这些图像有所了解,因此,这需要做更多的工作才能正确完成。认为 "Google Maps",而不是 "MSPaint"。