【发布时间】:2018-07-13 07:07:02
【问题描述】:
LibRaw 是一个用于从数码相机读取 RAW 文件的库(CRW/CR2、NEF、RAF、DNG、MOS、KDC、DCR 等;几乎支持所有 RAW 格式)。 我想知道如何使用 LibRaw 来获取佳能 CR2 图像的原始数据。
typedef struct
{
ushort (*image)[4] ;
libraw_image_sizes_t sizes;
libraw_iparams_t idata;
libraw_lensinfo_t lens;
libraw_makernotes_t makernotes;
libraw_shootinginfo_t shootinginfo;
libraw_output_params_t params;
unsigned int progress_flags;
unsigned int process_warnings;
libraw_colordata_t color;
libraw_imgother_t other;
libraw_thumbnail_t thumbnail;
libraw_rawdata_t rawdata;
void *parent_class;
} libraw_data_t;
typedef struct
{
void *raw_alloc;
ushort *raw_image;
ushort (*color4_image)[4] ;
ushort (*color3_image)[3];
float *float_image;
float (*float3_image)[3];
float (*float4_image)[4];
short (*ph1_cblack)[2];//
short (*ph1_rblack)[2];//
libraw_iparams_t iparams;//
libraw_image_sizes_t sizes;//
libraw_internal_output_params_t ioparams;//
libraw_colordata_t color;//
} libraw_rawdata_t;
这是RAW数据的数据结构,不知道最原始的数据存放在哪个结构中。
【问题讨论】:
-
欢迎来到 Stack Overflow。你的问题太宽泛了,这里无法回答。我建议搜索上述库的教程或文档。如果您有更具体的问题,请随时相应地改写您的问题。我还建议查看How to Ask。
-
作为临时解决方法,ImageMagick 可以读取 CR2、NEF、RAF、DNG 文件。因此,您可以使用
system()转至 ImageMagick 并将您的文件转换为有史以来最简单的格式 -PPMen.wikipedia.org/wiki/Netpbm_format 那将是convert image.nef simple.ppm并读取文件simple.ppm或者您可以使用popen()并让 ImageMagick 使用convert image.nef ppm:-在标准输出上写入