在使用QT进行图像显示时,对于如jpg和png等图片格式的实现可以借助QT很方便的就实现,但是使用QT显示Raw数据时,则相对麻烦一点,主要的原因在于Raw格式的图片不包含关于图片的高度、宽度和数据类型等信息,因此需要在进行图像显示时将上述信息进行指定。
在使用QT进行Raw数据显示时,本文推荐使用QLable进行。首先,在ui界面上绘制一个控件Label。其次,绘制一个按钮PushButton。
在PushButton的槽函数内编写下面的代码段,即可显示数据格式为Raw的lena图像,此处lena图像的数据类型为ushort,大小为512×512。
在使用QLabel进行Raw图像显示时有以下注意事项:
1. 需要将读取到的Raw文件内数据映射到0-255,然后转化为uchar格式。
2.使用image.scaled方法可以将图像的大小根据所设置Label的尺寸进行缩放。
3.记得对所开辟内存空间的及时销毁。
4.目前显示的图像与使用Matlab显示的是互为转置的关系,可以编写一段转置的程序,使两者保持一致。
void MainWindow::on_pushButton_clicked()
{
// 定义Raw数据的宽度和高度
int w = 512;
int h = 512;
// 读取Raw文件的数