opencv-DCT离散余弦变换_数据

原理:https://zhuanlan.zhihu.com/p/85299446    

数字图像都是实数矩阵,因此构造了一种实数域的变换——离散余弦变换(DCT)

离散余弦变换具有很强的”能量集中”特性,左上方称为低频数据,右下方称为高频数据。而大多数的自然信号(包括声音和图像)的能量都集中在离散余弦变换后的低频部分。因此也可以在图像压缩算法中用来进行有损压缩。(如JPEG压缩编码)

cv::Mat src = cv::imread("D:/bb/tu/ma.jpg",0);
src.convertTo(src, CV_32F, 1.0 / 255);
cv::Mat srcDCT;
cv::dct(src, srcDCT);//离散余弦变换

imshow("src", src);
imshow("dct", srcDCT);

opencv-DCT离散余弦变换_压缩算法_02