1.二维离散余弦变换(DCT)的原理见博客:点击打开链接
其中DCT和IDCT的变换基为:
OpenCV自带有DCT的程序,函数用法为:dst = cv2.dct(src), 其中src必须为float类型,uint8不能正常运行。
自己编写的dct程序和OpenCV自带的dct对比程序如下:
#二维图像的离散变余弦换(DCT)
#Python3.5
#库:cv2+numpy+matplotlib
#作者:James_Ray_Murphy
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('baoguo1.jpg', 0)
img1 = img.astype('float')
C_temp = np.zeros(img.shape)
dst = np.zeros(img.shape)
m, n = img.shape
N = n
C_tem