题目是这样的,现在有一个 rawdata.dat 文件,里面包含了 许多张 yuyv各式的图片。图片大小是768*576 24位色的。需要用C++写一个程序 把这些图片按顺序显示出来。
能不能把具体编程的步骤还有需要用到的主要的函数都写出来。
这个rawdata文件 好像还有header信息在里面。一般这种从视频上捕捉到的文件header都是什么内容啊?
能不能把具体编程的步骤还有需要用到的主要的函数都写出来。
这个rawdata文件 好像还有header信息在里面。一般这种从视频上捕捉到的文件header都是什么内容啊?
解决方案 »
- 送分100分:简单的SQL问题
- 如何修改WINDOWS文件的属性信息?(不打开文件)
- 调用动态链接库创建的对话框实例句柄总是NULL
- 请大侠们帮帮忙,怎么把整个属性页都改成和主体颜色一致啊???
- vc.net中有什么办法 可以标记暂时被注释的 代码行?以避免在调试过程中注释掉的代码,最后忘记恢复呢?
- 有没有修改系统底层文件访问模式的方法删除正在运行的程序。
- 有谁用过sniffer pro?
- WritePrivateProfileString的问题
- MFC 扩展dll 键盘钩子 移植后0xc0150002 初始化失败怎么解决
- 请问C语言,C++,VC++和VC有什么不同?
- java 中如何实现像jsp中的程序级的变量
- 一个奇怪的现象:在debug状态下运行正常,但直接运行生成文件则出错:(
如果用Overlay平面就可以直接显示,如果需要用GDI显示,那么需要转换成RGB。
具体的转换代码可以参考开源项目xvid中的相关代码。
首先要把整个数据划分开,即分成一帧一帧的。
这些标准图像序列一帧是720*576个象素点,每四个象素点对应4个Y和2个U,2个V(色度分量少是为了减小视频数据量),然后在真正传输的时候按照…Y U Y V Y U…的顺序传送。所以接下来应该将缺少的U、V值补齐,使得每一个像素点都能有一个Y,一个U,一个V。这一步称为色度插值。最简单的办法是在没有UV的象素点处,复制临近象素点的UV值。
当插值工作完成了以后,你就可以对每一个象素点的YUV值用转换矩阵转换成RGB值,R、G、B每个值都是8位(因此是3*8 = 24位)。
然后就是将RGB数据按照720*576的大小显示出来基本上我能想到的是这些步骤。lz最好对数字视频的理论知识有所了解。
如果有header的话,你应该能在开始的部分看到大量的00