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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python?opencv圖像的高通濾波和低通濾波怎么實現

發布時間:2022-06-23 13:46:45 來源:億速云 閱讀:375 作者:iii 欄目:開發技術

這篇文章主要介紹“python opencv圖像的高通濾波和低通濾波怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“python opencv圖像的高通濾波和低通濾波怎么實現”文章能幫助大家解決問題。

完整代碼

低通濾波

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

# cv2.imread()在讀取圖像的時候,默認的是讀取成RGB圖像,cv2.IMREAD_GRAYSCALE將以灰度圖的形式讀取
img = cv2.imread('./moon.jpg', flags = cv2.IMREAD_GRAYSCALE)  
# 將圖像除以255是為了將圖像向數字準換成fioat32數據
img1 = img/255 
# 進行傅里葉變換,時域——>頻域
dtf = cv2.dft(img1, flags = cv2.DFT_COMPLEX_OUTPUT)  
# 移動低頻波到中心位置
dft_shift = np.fft.fftshift(dtf)  

# 低通濾波
h,w = img.shape
# 圖像中心點即低頻波所在位置
h3, w2 = h//2, w//2  
mask = np.zeros((h,w,2), dtype=np.uint8)
# 選取長寬為100的區域的低頻部分為1,其余部分為0
mask[h3-50:h3+50,w2-50:w2+50] = 1  

# 低頻部分保留,其余部分*0被濾掉
dft_shift*=mask  
# 傅里葉逆變換,頻域——>時域
ifft_shift2 = np.fft.ifftshift(dft_shift)  
result = cv2.idft(ifft_shift2)

# 創建顯示窗口,顯示原圖
plt.figure(figsize=(12,9))
plt.subplot(121)
plt.imshow(img, cmap = 'gray')

# 創建顯示窗口,顯示低通濾波后的圖像
plt.subplot(122)
plt.imshow(result[:,:,0], cmap='gray')
plt.show()

高通濾波

高通濾波和低通濾波的主要區別在于,低通濾波是保留中心的低頻波去除高頻波,高通濾波是去除中心的低頻波保留高頻波。

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

# cv2.imread()在讀取圖像的時候,默認的是讀取成RGB圖像,cv2.IMREAD_GRAYSCALE將以灰度圖的形式讀取
img = cv2.imread('./moon.jpg', flags = cv2.IMREAD_GRAYSCALE)  
# 將圖像除以255是為了將圖像向數字準換成fioat32數據
img1 = img/255 
# 進行傅里葉變換,時域——>頻域
dtf = cv2.dft(img1, flags = cv2.DFT_COMPLEX_OUTPUT)  
# 移動低頻波到中心位置
dft_shift = np.fft.fftshift(dtf)

# 高通濾波
h,w = img.shape
# 圖像中心點即低頻波所在位置
h3, w2 = h//2, w//2  # 中心點
# 選取長寬為100的區域的低頻部分為0,其余高頻部分為1
dft_shift[h3-5:h3+5,w2-5:w2+5] = 0
# 傅里葉逆變換,頻域——>時域
ifft_shift2 = np.fft.ifftshift(dft_shift)  
result = cv2.idft(ifft_shift2)

# 創建顯示窗口,顯示原圖
plt.figure(figsize=(12,9))
plt.subplot(121)
plt.imshow(img, cmap = 'gray')

# 創建顯示窗口,顯示低通濾波后的圖像
plt.subplot(122)
plt.imshow(result[:,:,0], cmap='gray')
plt.show()

結果展示

改變濾波區域的大小可以改變濾波的程度,可以修改如圖所示的代碼中的相關部分:

python?opencv圖像的高通濾波和低通濾波怎么實現

低通濾波

python?opencv圖像的高通濾波和低通濾波怎么實現

高通濾波

python?opencv圖像的高通濾波和低通濾波怎么實現

關于“python opencv圖像的高通濾波和低通濾波怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

旺苍县| 安阳县| 绵竹市| 安溪县| 信丰县| 诸城市| 青岛市| 广昌县| 桐庐县| 江华| 会昌县| 大石桥市| 新营市| 长泰县| 井研县| 克拉玛依市| 德化县| 庆云县| 特克斯县| 禹州市| 扎囊县| 阿拉善盟| 修武县| 东方市| 都江堰市| 离岛区| 西城区| 朝阳市| 沁源县| 彩票| 浪卡子县| 宝鸡市| 禹城市| 胶南市| 唐海县| 延川县| 舞钢市| 喀什市| 竹山县| 玛纳斯县| 朝阳县|