首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libjpeg输出缩放

libjpeg输出缩放
EN

Stack Overflow用户
提问于 2011-09-20 23:52:07
回答 2查看 6.6K关注 0票数 3

libjpeg是否允许/有例程缩放输出图像?

我有一个图像,它需要调整大小时,保存和加载,提供width1,height1的输入和获得width2,height2的输出,我真的不能使用任何外部。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-27 04:00:57

是的,libjpeg确实支持图像缩放,但有一些限制。

Libjpeg版本8c及更高版本支持M/8 scaling,其中M是1到16之间的整数。更常用的libjpeg版本6b仅支持1、2、4和8的M(即2的幂的缩小)。

使用scale_num和scale_denom将缩放分子和分母提供给解压缩对象。参见jpeglib.h中的jpeg_decompress_struct。您可以参考djpeg.c获取用法示例。

这比解码整个图像然后缩小比例要快得多,而且质量可能更高。

票数 14
EN

Stack Overflow用户

发布于 2011-11-06 18:31:30

不,你需要自己缩放它(线性插值是最简单和最快的,但给出正方形的像素,双线性/三线性/双三次是小把戏,但会给出更平滑的结果),或者使用一个库来为你做繁琐的工作(检查OpenCV,SDL,imagemagick,libpipi.等)

更多关于这个here的信息,here

简单最近邻插值的实际代码(未优化):

代码语言:javascript
复制
dest[dx+dy*dest_width] = src[(dx*src_width/dest_width)+(dy*src_height/dest_height)*src_width]

只需根据dest_width和dest_height迭代dx和dy即可。但实际上,可以使用一个库来实现这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7488048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档