傅立葉變換
我的部落格即將搬運同步至騰訊雲+社群,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=1av1razbeyfk3
import numpy as np
import matplotlib.pyplot as plt
import cv2
%matplotlib inline
# Read in the images
image_stripes = cv2.imread('images/stripes.jpg')
# Change color to RGB (from BGR)
image_stripes = cv2.cvtColor(image_stripes, cv2.COLOR_BGR2RGB)
# Read in the images
image_solid = cv2.imread('images/pink_solid.jpg')
# Change color to RGB (from BGR)
image_solid = cv2.cvtColor(image_solid, cv2.COLOR_BGR2RGB)
# Display the images
f, (ax1,ax2) = plt.subplots(1, 2, figsize=(10,5))
ax1.imshow(image_stripes)
ax2.imshow(image_solid)
# convert to grayscale to focus on the intensity patterns in the image
gray_stripes = cv2.cvtColor(image_stripes, cv2.COLOR_RGB2GRAY)
gray_solid = cv2.cvtColor(image_solid, cv2.COLOR_RGB2GRAY)
# normalize the image color values from a range of [0,255] to [0,1] for further processing
norm_stripes = gray_stripes/255.0
norm_solid = gray_solid/255.0
# perform a fast fourier transform and create a scaled, frequency transform image
def ft_image(norm_image):
'''This function takes in a normalized, grayscale image
and returns a frequency spectrum transform of that image. '''
f = np.fft.fft2(norm_image)
fshift = np.fft.fftshift(f)
frequency_tx = 20*np.log(np.abs(fshift))
return frequency_tx
# Call the function on the normalized images
# and display the transforms
f_stripes = ft_image(norm_stripes)
f_solid = ft_image(norm_solid)
# display the images
# original images to the left of their frequency transform
f, (ax1,ax2,ax3,ax4) = plt.subplots(1, 4, figsize=(20,10))
ax1.set_title('original image')
ax1.imshow(image_stripes)
ax2.set_title('frequency transform image')
ax2.imshow(f_stripes, cmap='gray')
ax3.set_title('original image')
ax3.imshow(image_solid)
ax4.set_title('frequency transform image')
ax4.imshow(f_solid, cmap='gray')
低頻位於頻率變換影像的中心。 這些示例的變換影像顯示實心影像具有大多數低頻分量(如中心亮點所示)。 條紋轉換影像包含白色和黑色區域的低頻以及這些顏色之間的邊緣的高頻。 條紋變換影像也告訴我們這些頻率有一個主導方向; 垂直條紋由穿過頻率變換影像中心的水平線表示
# Read in an image
image = cv2.imread('images/birds.jpg')
# Change color to RGB (from BGR)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# convert to grayscale
gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
# normalize the image
norm_image = gray/255.0
f_image = ft_image(norm_image)
# Display the images
f, (ax1,ax2) = plt.subplots(1, 2, figsize=(20,10))
ax1.imshow(image)
ax2.imshow(f_image, cmap='gray')
此影像包含所有頻率的分量。 你可以在變換影像的中心看到一個亮點,它告訴我們影像的很大一部分是低頻的; 這是有道理的,因為鳥類和背景的身體是純色。 變換影像還告訴我們這些頻率有兩個主導方向; 垂直邊緣(來自鳥的邊緣)由穿過頻率變換影像中心的水平線表示,水平邊緣(來自鳥頭的分支和頂部)由穿過中心的垂直線表示。
相關文章
- 離散傅立葉變換(DFT)和快速傅立葉變換(FFT)FFT
- 快速傅立葉變換
- 【OpenCV-Python】:影像的傅立葉變換與逆傅立葉變換OpenCVPython
- 離散傅立葉變換
- OpenCV 離散傅立葉變換OpenCV
- 【scipy 基礎】--傅立葉變換
- 從傅立葉級數到傅立葉變換(連續、離散)
- 圖神經網路基礎:傅立葉級數與傅立葉變換神經網路
- 連續時間傅立葉變換
- 離散時間傅立葉變換
- 如何通俗地理解傅立葉變換?
- 傅立葉變換(二)—— 卷積 Convolution卷積
- 淺談FFT(快速傅立葉變換)FFT
- 快速傅立葉變換(FFT)隨筆FFT
- 【數學】快速傅立葉變換(FFT)FFT
- 快速傅立葉變換及其實現
- 小波變換與傅立葉變換的區別
- 影象傅立葉變換,幅度譜,相位譜
- 傅立葉變換頻域時域分析
- 短時傅立葉變換原理理解
- 快速傅立葉變換 學習筆記筆記
- C# pythonnet(2)_FFT傅立葉變換C#PythonFFT
- 快速傅立葉變換複習筆記筆記
- 數論筆記:快速傅立葉變換筆記
- 非週期訊號的傅立葉變換
- 離散傅立葉變換DFT的應用
- 葵花點穴手點通傅立葉變換
- 【OI向】快速傅立葉變換(Fast Fourier Transform)ASTORM
- 影象處理1--傅立葉變換(Fourier Transform )ORM
- 相位掩膜+傅立葉變換進行影象加密加密
- Python 實現影像快速傅立葉變換和離散餘弦變換Python
- 卷積導向快速傅立葉變換(FFT/NTT)教程卷積FFT
- 【演算法學習筆記】快速傅立葉變換演算法筆記
- 快速傅立葉變換的迭代法程式碼實現
- 【數理知識】第1章-傅立葉變換-《積分變換與場論》王振
- 快速傅立葉變換原理介紹及遞迴程式碼實現遞迴
- 第二章:整車發動機激勵--快速傅立葉變換
- 15分鐘理解數字影象中的二維傅立葉變換語義