我试图实现基于DCT的彩色JPEG图像压缩算法。我是图像处理方面的新手,所以我需要帮助。我需要的是澄清一个算法。
我正在使用这里的离散余弦变换实现
因此,下面是我所理解的算法:
我不知道该怎么办。我可以:
所以,在这里,我得到了3个矩阵,红色,绿色和蓝色。而不是将这些矩阵转换为一个RGB矩阵,并创建新的BufferedImage,并使用setRGB方法设置像素值。然后执行将图像保存到文件中。
额外问题:
发布于 2014-05-10 23:57:49
如果您想遵循实现步骤,我建议您阅读:
1?ie=UTF8&qid=1399765722&sr=8-1&keywords=compressed+image+file+formats
关于你们的问题:
1) JPEG标准对颜色空间一无所知,不关心您是使用RGB还是YCbCr,还是使用CMYK。有几种JPEG文件格式(例如JFIF、EXIF、ADOBE)指定颜色空间--通常是YCbCr。
使用YCbCr的原因是,如果遵循JPEG集中信息的趋势。Y组分往往比Cb或Cr组分有更多有用的信息。使用YCbCr,您可以对每一年的Cb和Cr (甚至16)进行4Ys的采样,这将压缩1/2的数据量。
注意,JPEG文件格式指定采样限制(JPEG允许2:3采样,而大多数实现不允许采样)。
2)离散余弦变换系数采用游程编码,哈夫曼(或算术)编码。你必须两者兼用。
https://stackoverflow.com/questions/23203778
复制相似问题