天天看點

頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續

頻域圖像處理基本步驟

頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續

傅裡葉級數

頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續

離散餘弦變換

頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續
頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續

例子

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()

           

複制

頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續

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()


           

複制

頻域變換頻域圖像處理基本步驟傅裡葉級數離散餘弦變換例子後續

後續

如果想了解更多物聯網、智能家居項目知識,可以關注我的項目實戰專欄。

喜歡就點一點在看