日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

傅里叶变换和逆傅里叶变换numpy

發(fā)布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 傅里叶变换和逆傅里叶变换numpy 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

理論基礎
時域:以時間為橫坐標
頻域:以頻率的倒數(shù)為橫坐標,可以看出,頻域更加簡單。

相位:與時間差有關(guān)的一個概念。

傅里葉說,任何連續(xù)周期信號,可以由一組適當?shù)恼仪€組合而成。我們知道,正弦曲線可以轉(zhuǎn)換為頻域信號,所以:任何連續(xù)周期信號,都可以轉(zhuǎn)換成頻域信號。并且這個過程是可逆的。


程序?qū)崿F(xiàn)
1. 傅里葉變換

numpy.fft.fft2
1
實現(xiàn)傅里葉變換。
返回一個復數(shù)數(shù)組。
numpy.fft.fftshift?? ?效果如圖所示
將零頻率分量移到頻譜中心。?? ?
20*np.log( np.abs( fshift ) )
1
將傅里葉變換的計算結(jié)果映射到【0,255】這個區(qū)間內(nèi)。

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

o=cv2.imread('image\\equ2.bmp',0)
f=np.fft.fft2(o) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#傅里葉變換
fshift=np.fft.fftshift(f) ? ? ? ? ? ? ? ? ? ? #零頻率移到中心
result= 20 * np.log(np.abs(fshift)) ? ? ? ? ? #閾值轉(zhuǎn)換
plt.subplot(121),plt.imshow(o,cmap='gray'),plt.title('original'),plt.axis('off')
plt.subplot(122),plt.imshow(result,cmap='gray'),plt.title('result'),plt.axis('off')
plt.show()

1
2
3
4
5
6
7
8
9
10
11
12

2. 逆傅里葉變換

numpy.fft.ifft2
1
實現(xiàn)逆傅里葉變換。
返回一個復數(shù)數(shù)組。
numpy.fft.ifftshift
1
fftshift的逆函數(shù),將低頻從中心移到左上角。

iimg=np.abs( 逆傅里葉變換結(jié)果)
1
設置值得范圍

將圖像進行傅里葉變換后,再進行逆傅里葉變換,與原圖片對比。

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

o=cv2.imread('image\\boat.bmp',0)
f=np.fft.fft2(o)
fshift=np.fft.fftshift(f) ? ? ? ? ? ? ? ? ? ? #傅里葉變換
ishift=np.fft.ifftshift(fshift)
io=np.fft.ifft2(ishift)
io=np.abs(io) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #逆傅里葉變換
plt.subplot(121),plt.imshow(o,cmap='gray'),plt.title('original'),plt.axis('off')
plt.subplot(122),plt.imshow(io,cmap='gray'),plt.title('result'),plt.axis('off')
plt.show()

1
2
3
4
5
6
7
8
9
10
11
12
13
14

?

總結(jié)

以上是生活随笔為你收集整理的傅里叶变换和逆傅里叶变换numpy的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。