c++ - 从灰度图像到 QImage 的快速转换

标签 c++ image qt image-processing

在我处理的应用程序中,每个像素都是无符号或 float 的图像,每个值都是具有给定灰度级别的像素。我有可用的来源,所以我可以自由访问图像数据。

我需要使用qt框架显示/保存和加载这些图片。目前处理转换的唯一方法是获取和设置每个像素,这被证明有点慢。

还有其他方法可以转换这些图像吗?

最佳答案

您应该直接访问图像缓冲区,而不是使用 QImage::setPixel。

在您创建具有所需格式、宽度和高度的图像后,您可以使用 QImage::bits() 来访问内存缓冲区,或者也可以使用 QImage::scanLine() 来检索指向每行开头的指针在图像中直接在内存中设置像素:这比为每个像素调用 setPixel() 快得多。

关于c++ - 从灰度图像到 QImage 的快速转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11094910/

相关文章:

Qt:跨平台桌面应用程序的安全字体

qt - 让 Qt Creator 查看示例和文档

c++ - 在 QT5 中将信号连接到 c++11 lambda

c++ - 什么时候在函数中对 const 值使用 const 引用?

c++ - 如何使用汇编程序(x64 OS)获取进程环境 block (PEB)地址?

python - 在 openCV 中使用 waitkey() 时出错

c# - 下载时如何调整图像大小?

c++ - 使用可变参数模板的递归元函数

c++ - 如何在另一个函数中使用这些变量?

css - 如何使用 CSS 在同一个外部元素中保持多个图像的相对大小?