在我处理的应用程序中,每个像素都是无符号或 float 的图像,每个值都是具有给定灰度级别的像素。我有可用的来源,所以我可以自由访问图像数据。
我需要使用qt框架显示/保存和加载这些图片。目前处理转换的唯一方法是获取和设置每个像素,这被证明有点慢。
还有其他方法可以转换这些图像吗?
最佳答案
您应该直接访问图像缓冲区,而不是使用 QImage::setPixel。
在您创建具有所需格式、宽度和高度的图像后,您可以使用 QImage::bits() 来访问内存缓冲区,或者也可以使用 QImage::scanLine() 来检索指向每行开头的指针在图像中直接在内存中设置像素:这比为每个像素调用 setPixel() 快得多。
关于c++ - 从灰度图像到 QImage 的快速转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11094910/