中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
新河县| 沛县| 微博| 荔浦县| 保定市| 彰武县| 韶山市| 太康县| 双牌县| 随州市| 温泉县| 奇台县| 建昌县| 深圳市| 晋州市| 鱼台县| 孝感市| 绥化市| 泾川县| 珠海市| 甘孜| 潜江市| 荔浦县| 射洪县| 大港区| 鄄城县| 云霄县| 舟山市| 兴文县| 秦皇岛市| 栾川县| 华容县| 青川县| 洪泽县| 图木舒克市| 喀喇沁旗| 马龙县| 乳山市| 福贡县| 固原市| 扎鲁特旗|