如何创建RAW图像?

时间:2012-10-13 06:57:30

标签: image matlab

我正在构建H264编码器的一部分。对于测试系统,我需要创建输入图像进行编码。我们有一个程序用于读取图像到RAM文件格式以供使用。

我的问题是如何创建RAW文件:bitmap或tiff(我不想使用压缩格式链接JPEG)?我用Google搜索并识别了很多原始文件类型。 那么我应该使用什么类型以及如何创建?。我想我会使用C / C ++或Matlab来创建原始文件。

P / S:我需要的格式是:YUV(或Y Cb Cr)4:2:0和8位深色

1 个答案:

答案 0 :(得分:1)

最简单的原始格式只是一个数字流,代表像素。每种原始格式都可以与元数据相关联,例如:

  • width,heigth
  • 宽度/图像行(即gstreamer& x-window将每一行与dword边界对齐)
  • 每像素位数
  • 字节格式/字节序(如果每像素16位或更多)
  • 图片频道数量
  • 颜色系统HSV,RGB,Bayer,YUV
  • 频道顺序,例如RGBA,ABGR,GBR
  • 平面与打包(或FOURCC代码)

或此元数据可以只是内部规范......

我认为最简单的方法之一(当然是陡峭的学习曲线:)是使用例如gstreamer,您可以使用现有的文件/流从相机,文件,预先存在的jpeg等读取数据,并将这些原始流传递到已定义的管道中。一个有用的元素是 filesink ,它只需将一个或几个连续的原始数据帧写入您的文件系统。 gstreamer基础设施可能有数百个转换器和过滤器,顺便说一句。包括h264编码器...

我敢打赌,如果你只是转储你的记忆,那么输出将符合某些FOURCC -format(也被gstreamer识别)。