我无法让Qt处理超过10,000X10,000的图像。我正在处理每张大约2 2GB的巨大卫星图像。我考虑使用内存映射,但图像仍然占用内存中的空间。
QFile file("c://qt//a.ras");
file.open(QIODevice::ReadOnly);
qint64 size = file.size();
uchar *img=file.map(0,size);
QImage I(img,w,h,QImage::Format_ARGB32);有人能告诉我在Qt中处理大图像的更有效的方法吗?
发布于 2011-01-26 04:24:37
Qgraphicsview和一组图像磁贴,视图为您处理所有的滚动和世界坐标。
然后,您只需预先将图像切成块,或者在运行中提取一段图像数据
发布于 2011-01-26 03:40:53
您是否可以使用某种平铺策略来分段加载和操作图像,而不是一次性加载和操作所有图像?
发布于 2011-01-26 05:05:59
我猜您正在使用32位操作系统,并且您的地址空间即将耗尽。最简单的解决方案可能是使用64位操作系统(例如Windows7 x64),并将应用程序编译为64位。您的目标平台是什么(Windows、Mac OS X、Linux等)?
This可能会有所帮助。
https://stackoverflow.com/questions/4797908
复制相似问题