JPEG提取DCT表
-
15-11-2019 - |
题
我正在使用VS2008,MFC和WIC开发图像查看器/编辑器,我想在图像处理后尽可能紧密地(质量Wize),以便将JPEG重新按压JPEGs。有谁知道如何提取亮度和色度表以设置为
http://msdn.microsoft.com/zh-US / library / gg430026%28v= vs.85%29.aspx
没有 必须使用额外的大型库(如libjpeg)?
解决方案
The JPEG standard specification covers the details of the luminance and chrominance table.
In JPEG terminology, those tables are both referred to as "quantization table" (DQT). The luminance quantization table is applied on the "Y" channel and the chrominance quantization table is applied to "Cb" and "Cr" channels.
This website lists the quantization tables for a large number of camera manufacturers and JPEG authoring software.
To recompress an image using the same quantization tables as another existing image:
- Query and enumerate all IWICMetadataBlockReader objects from the source image (IWICBitmapFrameDecode).
- Find the metadata blocks which have the types GUID_MetadataFormatJpegChrominance and GUID_MetadataFormatJpegLuminance
- Extract their binary data, and use those data to initialize the Luminance and Chrominance properties of the JPEG encoder options by putting them into the IPropertyBag when calling IWICBitmapFrameEncode::Initialize.
不隶属于 StackOverflow