JPEG 压缩——第一步为Opencv 离散余弦变换。
imori.jpg
灰度化之后,先进行离散余弦变换,再进行离散余弦逆变换吧!
离散余弦变换(Discrete Cosine Transformation)是一种使用下面式子计算的频率变换:
ReferenceError: katex is not defined
离散余弦逆变换(Inverse Discrete Cosine Transformation)是离散余弦变换的逆变换,使用下式定义。
在这里,ReferenceError: katex is not defined是决定图像复原时分辨率高低的参数。ReferenceError: katex is not defined时,DCT的系数全被保留,因此IDCT时分辨率最大。ReferenceError: katex is not defined或ReferenceError: katex is not defined时,图像复原时的信息量(DCT系数)减少,分辨率降低。如果适当地设定ReferenceError: katex is not defined,可以减小文件大小。
ReferenceError: katex is not defined
在这里我们先将图像分割成ReferenceError: katex is not defined的小块,在各个小块中使用离散余弦变换编码,使用离散余弦逆变换解码,这就是 JPEG的编码过程。现在我们也同样地,把图像分割成ReferenceError: katex is not defined的小块,然后进行离散余弦变换和离散余弦逆变换。
python实现:
c++实现:
输入:
输出: