91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Python如何實現圖像的頻域分析和處理

小億
82
2024-04-29 19:37:50
欄目: 編程語言

要實現圖像的頻域分析和處理,可以使用Python的OpenCV庫和numpy庫。以下是一個簡單的示例代碼,展示如何進行傅里葉變換,并進行頻域濾波。

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

# 讀取圖像
img = cv2.imread('input.jpg',0)

# 進行傅里葉變換
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20*np.log(np.abs(fshift))

# 將頻譜圖顯示出來
plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(magnitude_spectrum, cmap = 'gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.show()

# 頻域濾波
rows, cols = img.shape
crow, ccol = rows//2 , cols//2
fshift[crow-30:crow+30, ccol-30:ccol+30] = 0
f_ishift = np.fft.ifftshift(fshift)
img_back = np.fft.ifft2(f_ishift)
img_back = np.abs(img_back)

# 顯示濾波后的圖像
plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(img_back, cmap = 'gray')
plt.title('Image after HPF'), plt.xticks([]), plt.yticks([])
plt.show()

在這個示例中,首先讀取了一張灰度圖像,并對其進行傅里葉變換。然后將頻譜圖顯示出來,接著進行高通濾波,并將濾波后的圖像顯示出來。您可以根據需要調整濾波器的大小和類型,以實現不同的頻域處理效果。

0
布拖县| 兰溪市| 汝城县| 互助| 宣城市| 阿克| 陵水| 通州区| 玉树县| 蒲江县| 永平县| 东乡县| 阿克| 沁阳市| 高邑县| 星子县| 皮山县| 丹东市| 洞口县| 苗栗县| 新安县| 防城港市| 永吉县| 灵璧县| 新源县| 石柱| 亳州市| 明光市| 上犹县| 桦南县| 蓬莱市| 巴林左旗| 南木林县| 临猗县| 寿光市| 腾冲县| 榆中县| 宜川县| 张掖市| 利辛县| 阜新市|