我希望我能以这种方式使用某种类型的库:
int* buffer[720*480]; // read in from file/memory/network stream
raw_params params;
params.depth = 16;
params.width = 720;
params.height = 480;
params.map = "rgb";
params.interleave = JPEG_RAW_INTERLEAVE_OFF;
jpeg_encode(buffer, params)
但我似乎无法找到它。
我正在寻找一个如何使用这样一个库的简单示例。与netpbm
和magick
的来源一样健壮的代码对我的理解水平而言过于复杂。
答案 0 :(得分:3)
是的,这里有一个图书馆(幸运的是!):http://freshmeat.net/projects/libjpeg/等于(?)到http://sourceforge.net/projects/libjpeg/
答案 1 :(得分:3)
来自Independent JPEG Group的libjpeg库是JPEG标准的参考实现,由参与创建标准的人员编写。它坚固,稳定,便于携带。
它是一个源工具包,其中包含大量文档和示例。
源图像的首选表示形式是像素数组的数组指针,而不是您所显示的单个单片数组。但是,您可以轻松地创建指向行的指针数组来处理图像缓冲区。
它具有高度可配置性和可扩展性。具体来说,它允许通过回调配置数据源和目标。这为首次使用增加了一些复杂性,但并不是很难处理。
当然也有商业图书馆,我知道有商业上可用的IP用于在硬件中实现JPEG。商业图书馆可能会更快,但永远不会便宜。
答案 2 :(得分:1)
这是一个相当简单的例子,它被复制到网上的许多地方:
此文档的特定页面与理解需求结构相关: