频域图像处理基本步骤

频域变换_图像处理

傅里叶级数

频域变换_python_02
频域变换_图像处理_03
频域变换_python_04
频域变换_图像处理_05
频域变换_图像处理_06
频域变换_图像处理_07
频域变换_python_08
频域变换_图像处理_09
频域变换_图像处理_10
频域变换_python_11
频域变换_图像处理_12
频域变换_图像处理_13
频域变换_python_14
频域变换_python_15
频域变换_图像处理_16
频域变换_图像处理_17
频域变换_图像处理_18
频域变换_python_19
频域变换_python_20
频域变换_python_21

离散余弦变换

频域变换_图像处理_22
频域变换_图像处理_23
频域变换_python_24
频域变换_图像处理_25
频域变换_图像处理_26
频域变换_图像处理_27
频域变换_图像处理_28
频域变换_图像处理_29
频域变换_python_30
频域变换_图像处理_31
频域变换_图像处理_32

例子
import cv2
import numpy as np
import matplotlib.pyplot as plt

img=cv2.imread("lena.jpg",0)
#傅里叶变换
dft=cv2.dft(np.float32(img),flags=cv2.DFT_COMPLEX_OUTPUT)
result1=20*np.log(cv2.magnitude(dft[:,:,0],dft[:,:,1]))
dftShift=np.fft.fftshift(dft)
result=20*np.log(cv2.magnitude(dftShift[:,:,0],dftShift[:,:,1]))
#逆变换
ishift=np.fft.fftshift(dftShift)
iimg=cv2.idft(ishift)
iimg=cv2.magnitude(iimg[:,:,0],iimg[:,:,1])

plt.subplot(141)
plt.imshow(img,cmap='gray')
plt.title('original')
plt.axis('off')

plt.subplot(142)
plt.imshow(result1,cmap='gray')
plt.title('dft')
plt.axis('off')

plt.subplot(143)
plt.imshow(result,cmap='gray')
plt.title('dft-shift')
plt.axis('off')

plt.subplot(144)
plt.imshow(iimg,cmap='gray')
plt.title('ifft')
plt.axis('off')

plt.show()

频域变换_图像处理_33
2.

import cv2
import numpy as np
import matplotlib.pyplot as plt

img=cv2.imread("lena.jpg",0)
f=np.fft.fft2(img)
fshift=np.fft.fftshift(f)

s1=np.log(np.abs(fshift))
plt.subplot(221),plt.imshow(img,'gray'),plt.title('1')
plt.xticks([]),plt.yticks([])

f1shift=np.fft.ifftshift(np.abs(fshift))
img_back=np.fft.ifft2(f1shift)

img_back=np.abs(img_back)
img_back=(img_back-np.amin(img_back))/(np.amax(img_back)-np.amin(img_back))
plt.subplot(222),plt.imshow(img_back,'gray'),plt.title('2')
plt.xticks([]),plt.yticks([])
f2shift=np.fft.ifftshift(np.angle(fshift))
img_back=np.fft.ifft2(f2shift)

img_back=np.abs(img_back)

img_back=(img_back-np.amin(img_back))/(np.amax(img_back)-np.amin(img_back))
plt.subplot(223),plt.imshow(img_back,'gray'),plt.title('3')
plt.xticks([]),plt.yticks([])
s1=np.log(np.abs(fshift))
plt.subplot(224),plt.imshow(img,'gray'),plt.title('4')
plt.xticks([]),plt.yticks([])



plt.show()


频域变换_python_34

后续

如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。
或者关注公众号。
频域变换_python_35

编写不易,感谢支持。