很好的方式,我把这个图片: 可视化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