c++ - 如何从 jpeg 图像中读取嵌入缩略图?

标签 c++ jpeg thumbnails exif

我正在用 C++ 编写缩略图查看器。

我首先利用EXIF信息检索了一张图片的缩略图,但是EXIF中的缩略图很糟糕,有黑边。所以我想获取 jpeg 的嵌入式缩略图,我该怎么做?

另一个问题: jpeg 的嵌入缩略图是否等于 EXIF 缩略图?

最佳答案

如果 EXIF 缩略图不好,您可以从 JPEG 本身生成自己的缩略图,而无需完全解码 JPEG。

寻找 EPEG 的源代码。它是 SourceForge 上 Enlightenment 项目的一部分,并且是一年前旧 EFL 的一部分。您仍然可以从一些旧的 SVN 提交或可能四处 float 的源代码压缩包中挖掘它。

基本上,EPEG 所做的是从图像中收集 DCT 系数,并对它们执行重新缩放操作。 DCT 系数通常用作 8x8 像素 block 的基本系数。您可以将其视为一个 像素。结果,您有一个(无需计算)缩略图,正好是原始图像大小的 1/8。将任何图像数据重新缩放到所需尺寸。

关于c++ - 如何从 jpeg 图像中读取嵌入缩略图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1325634/

相关文章:

网络漫画的图像压缩

ruby-on-rails - Spree 中的缩略图设置和更改如何工作?

html - 从 HTML 选择图像以用作页面的缩略图/预览的最佳方式

c++ - 将 FORTRAN 转换为 C/C++

c++ - IContextMenu3 HandleMenuMsg2 从未被调用

c++ - boost 程序选项 - 如何有条件地键入位置参数?

C++ 返回语句不工作

reactjs - JPG、JPEG2000 与 WebP

Canvas.toBlob() 保存为 PNG,即使我指定了 JPG

plot - 在 R Markdown/knitr 中缩略图一些图的简单方法是什么?