在下面的模糊代码中,我可以清楚地看到频率表示随着模糊内核变得越来越大而变化,但我试图理解如何可视化实际的dct系数。如下所示,左上角是低频,右下角是高频 - 当我模糊图像时,我看到一个明显的移位。但是我的系数矩阵在哪里,我如何显示它,默认情况下矩阵有多大?在阅读和教程中,我发现矩阵通常是8x8。
img = cv2.imread('lena.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
for i in xrange(1,31,2):
blur = cv2.blur(img,(i,i))
string = 'blur : kernel size - '+str(i)
imf = np.float32(blur) # float conversion
dst = cv2.dct(imf) # the dct
img2 = np.uint8(dst) # convert back
cv2.putText(blur,string,(20,20),cv2.FONT_HERSHEY_COMPLEX_SMALL,1,(0,0,0))
#vis = np.hstack([vis,np.hstack([blur,img2])])
vis = np.concatenate((blur, img2), axis = 1)
cv2.imshow('Blur',vis)
cv2.waitKey(DELAY_BLUR)
我应该能够访问包含系数的矩阵,然后我想想象他们的贡献乘以下面的基函数。