![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LibRaw
文章平均质量分 87
绿色盒子
热情的冒烟的绿色的木头的盒子
展开
-
【LibRaw】原始图像解码库介绍(一)——API概述
API概述(C ++)一般性评论整个处理由LibRaw类的实例执行,LibRaw类是图像处理器。一个图像处理器可以同时处理一个数据源文件,但是可以连续处理任意数量的文件。在软件程序中可能存在若干同时工作的图像处理器(例如,在不同的线程中),但是应该记住每个图像处理器可能需要很多存储器。从RAW文件中读取源数据几乎不需要自定义(有关此规则的例外,请参阅API注释)。从RAW文件提取的所有数据都可以通...翻译 2018-07-03 11:52:24 · 2570 阅读 · 3 评论 -
【LibRaw】原始图像解码库介绍(十三)——关于API的一般说明
关于API的一般说明提交的LexA上2008年4月27日 - 11:09内容LibRaw版本错误代码约定和错误处理非标准情况并非错误输入层抽象线程安全使用C ++LibRaw :: imgdata.params结构的参数影响open_file / unpack / unpack_thumb的行为内存使用情况堆栈使用动态内存管理动态内存使用RAW图像的内存缓冲区后处理图像的内存解码缩略图的内存解码I...翻译 2018-07-04 09:26:46 · 745 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(十二)——C API
C APILibRaw C API是C ++ API的包装器; 因此,几乎所有C API函数的文档都由一组指向C ++ API描述中相应位置的超链接表示。内容初始化:libraw_data_t * libraw_init(unsigned int flags);返回值数据加载参数getters / setters辅助功能数据后处理,dcraw行为的仿真参数设定模拟dcraw行为写入输出文件将处理结...翻译 2018-07-04 09:26:36 · 1290 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(十一)——C++ API之输入层抽象
输入层抽象class LibRaw_abstract_datastream - 抽象RAW读取接口LibRaw通过调用从LibRaw_abstract_datastream派生的C ++对象的(虚拟)方法来读取RAW数据。此C ++类不实现任何读取,但定义要调用的接口。调用基类方法总是会导致错误。LibRaw_abstract_datastream类方法对象验证virtual int valid(...翻译 2018-07-04 09:26:24 · 651 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(十)——C++ API之数据输出到文件以及将解压缩的数据复制到内存缓冲区
数据输出到文件:模拟dcraw行为尽管存在大量用于任何格式的文件输出的库,但LibRaw包含模拟dcraw提供的文件输出的调用。这主要是为了更容易验证库工作:结果文件必须是二进制相同的。int LibRaw :: dcraw_ppm_tiff_writer(const char * outfile)该函数将后处理结果输出到PPM / PGM或TIFF格式的文件(格式通过imgdata.params...翻译 2018-07-03 12:44:48 · 922 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(九)——C++ API之数据使用后处理:dcraw行为的仿真
数据使用后处理:dcraw行为的仿真可以使用dcraw函数代替编写自己的Bayer模式后处理函数,这些函数在调用open_file()+ unpack()/ + unpack_thumb()/之后调用参数设定实际上,可以通过dcraw命令行设置的所有参数都是通过为LibRaw :: imgdata.params结构的字段赋值来指定的。这个结构的类型是libraw_output_params_t ;...翻译 2018-07-03 12:32:25 · 869 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(八)——C++ API之辅助功能
辅助功能库版本检查const char * LibRaw :: version()以MAJOR.MINOR.PATCH-Status格式返回LibRaw版本的字符串表示形式(即0.6.0-Alpha2或0.6.1-Release)。int LibRaw :: versionNumber()返回LibRaw版本的整数表示形式。在LibRaw开发期间,版本号总是增加。bool LIBRAW_CHECK...翻译 2018-07-03 12:30:45 · 1390 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(七)——C++ API之方法:从文件加载数据
方法:从文件加载数据int LibRaw :: open_datastream(LibRaw_abstract_datastream * stream)打开包含RAW数据的数据流,从中读取元数据(EXIF),并填充以下结构:imgdata.idata(libraw_iparams_t),imgdata.sizes(libraw_image_sizes_t),imgdata.color(libraw...翻译 2018-07-03 12:28:51 · 661 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(六)——C++ API之LibRaw对象及返回值
LibRaw对象创建主LibRaw对象(类),无需参数或使用标志确定对象行为。#include“libraw / libraw.h” ... LibRaw ImageProcessor(unsigned int flags = 0); ... 标志(通过operator |组合几个标志,即按位OR):LIBRAW_OPTIONS_NO_MEMERR_CALLBACK:不设置标...翻译 2018-07-03 12:26:24 · 930 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(五)——C++ API总结
C ++ API内容LibRaw对象返回值方法从文件加载数据int LibRaw :: open_datastream(LibRaw_abstract_datastream * stream)int LibRaw :: open_file(const char * rawfile [,INT64 bigfile_size])int LibRaw :: open_buffer(void * buff...翻译 2018-07-03 12:25:08 · 968 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(四)——常量
常量枚举LibRaw_errors:错误代码返回整数的所有函数必须返回errno或以下错误代码之一(另请参阅错误代码约定)。致命错误(返回此类错误代码意味着必须终止文件处理,因为数据结构的状态未知)。LIBRAW_UNSUFFICIENT_MEMORY尝试从系统获取内存失败。将释放所有已分配的资源,将调用recycle(),并且“创建后”将立即将LibRaw对象置于状态。LIBRAW_DATA_E...翻译 2018-07-03 11:57:06 · 1661 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(三)——数据结构
LibRaw数据结构在头文件libraw / libraw_types.h 中定义。其工作中使用的常量在文件libraw / libraw_const.h中定义内容:数据结构libraw_data_t:LibRaw中的主要数据结构结构libraw_iparams_t:图像的主要参数结构libraw_image_sizes_t:图像尺寸结构libraw_colordata_t:颜色信息结构libra...翻译 2018-07-03 11:55:39 · 5028 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(二)——编译和安装
编译和安装LibRaw以源代码的形式分发。为了进一步使用,应编译它们(如果需要,还可以将它们放入带有库和包含文件的系统文件夹中)。Unix系统(FreeBSD,Linux,Mac OS X)要构建库,您需要一个可用的C ++编译器(gcc版本3.x或4.x可以;其他编译器尚未经过测试)和make实用程序。不需要其他库或实用程序。LibRaw已经在32位和64位Unix系统上进行了测试,这些系统在x...翻译 2018-07-03 11:54:13 · 5293 阅读 · 0 评论 -
【LibRaw】原始图像解码库介绍(十四)—— 使用示例
用法示例提交的LexA上2008年4月27日 - 11:12分发包中的示例概述(样本/ *)LibRaw包中包含几个说明此库使用的示例。它们的源代码位于samples /文件夹中,在库构建之后,它们将位于bin /文件夹中:raw-identify它使用的唯一LibRaw调用是open_file() ; 进一步的代码打印imgdata结构的字段的值。的输出原始识别(无开关)几乎是相同的输出dcra...翻译 2018-07-04 09:26:57 · 2504 阅读 · 0 评论