本文共 775 字,大约阅读时间需要 2 分钟。
QString tYUVFile("/home/shell.albert/project/H.264/football/fb001.yuv"); QFile tFile(tYUVFile); if(!tFile.open(QIODevice::ReadOnly)) { qDebug()<<"open file failed!"; return; } QByteArray tYData=tFile.read(84480); QByteArray tUData=tFile.read(21120); QByteArray tVData=tFile.read(21120); QByteArray tRestData=tFile.readAll(); qDebug()<<"Y:"<<tYData.size(); qDebug()<<"U:"<<tUData.size(); qDebug()<<"V:"<<tVData.size(); qDebug()<<"Rest:"<<tRestData.size(); //write Y to file. QFile tYFile("/home/shell.albert/y.yuv"); if(tYFile.open(QIODevice::WriteOnly)) { tYFile.write(tYData); tYFile.close();}
这样只将排列中的YYYYUUVV中最前面的Y单独保存在一个文件中,并使用YUV Player打开,能正常的显示出灰度图来。
shell.albert@yantai:~> ls -l y.yuv
-rw-r--r-- 1 shell.albert users 84480 Apr 29 15:16 y.yuv用Qt显示不出来,看来还是代码有问题,继续查错误。