很好的方式,我把這個圖片: 可視化DCT係數作爲圖像
將其分爲80X80瓷磚,做了一個二維DCT變換爲每一分,並將其切碎只在每個軸上的前30個係數。現在我試圖將結果可視化爲一個圖像,這將有助於我對DCT飛機的直覺。
問題:
- (0,0)的DCT係數的方式比其他的都要大
- 我想看看正負係數之間的差異。
迄今爲止最好的變換,我發現是這樣的:
def visualize_dct(d):
d = np.log(abs(d).clip(0.1))
maxi, mini = d.max(), d.min()
d = 255*(d - mini)/(maxi-mini)
return d
這給了我這個圖片:
更好的想法?
完整的代碼在這裏: http://nbviewer.ipython.org/github/ihadanny/my-py-notebooks/blob/master/img_processing_04.ipynb
嘗試了你的建議,它看起來很平::(你的意思是? d = d + abs(d.min())+ 1.0; d = np.log(d); maxi,mini = d.max(),d.min(); d = 255 *(d-mini)/(maxi-mini); – ihadanny 2015-02-07 17:38:08