最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?opencv圖像的高通濾波和低通濾波的示例代碼

 更新時間:2022年06月23日 14:23:10   作者:白羊by  
這篇文章主要介紹了python?opencv圖像的高通濾波和低通濾波,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

上一章我們說明了如何將圖像機(jī)娘傅里葉變換,將圖像由時域變換成頻域,并將低頻移動至圖像中心。那么將低頻移動中心后,就可以將圖像的低頻和高頻分開,從而進(jìn)行低通濾波和高通濾波的處理。

完整代碼

低通濾波

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

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

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

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

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

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

高通濾波

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

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

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

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

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

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

結(jié)果展示

改變?yōu)V波區(qū)域的大小可以改變?yōu)V波的程度,可以修改如圖所示的代碼中的相關(guān)部分:

低通濾波

高通濾波

到此這篇關(guān)于python opencv圖像的高通濾波和低通濾波的文章就介紹到這了,更多相關(guān)python opencv圖像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的pygal安裝和繪制直方圖代碼分享

    Python中的pygal安裝和繪制直方圖代碼分享

    這篇文章主要介紹了Python中的pygal安裝和繪制直方圖代碼分享,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡(luò)請求用法實例

    Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡(luò)請求用法實例

    這篇文章主要為大家介紹了Python?Httpx庫實現(xiàn)超跑式網(wǎng)絡(luò)請求用法實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python 類相關(guān)概念理解

    python 類相關(guān)概念理解

    這篇文章主要介紹了簡單了解python類概念,具有一定借鑒價值,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • Python在for循環(huán)中更改list值的方法【推薦】

    Python在for循環(huán)中更改list值的方法【推薦】

    這篇文章主要介紹了Python在for循環(huán)中更改list值的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • 利用一個簡單的例子窺探CPython內(nèi)核的運(yùn)行機(jī)制

    利用一個簡單的例子窺探CPython內(nèi)核的運(yùn)行機(jī)制

    這篇文章主要介紹了利用一個簡單的例子窺探CPython內(nèi)核的運(yùn)行機(jī)制,作者通過一個簡單的輸出函數(shù)深入、介紹了CPython源碼C代碼中的一些函數(shù),需要的朋友可以參考下
    2015-03-03
  • Python常用數(shù)字處理基本操作匯總

    Python常用數(shù)字處理基本操作匯總

    這篇文章主要介紹了Python常用數(shù)字處理基本操作匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟詳解

    PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟詳解

    這篇文章主要介紹了PyCharm安裝PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Python?中strip()函數(shù)詳細(xì)說明及使用方法

    Python?中strip()函數(shù)詳細(xì)說明及使用方法

    strip()函數(shù)是Python字符串方法之一,用于處理字符串的前導(dǎo)和尾隨空白字符,它返回一個新字符串,該字符串是原始字符串去除前導(dǎo)和尾隨空格(包括空格、制表符、換行符等)后的結(jié)果,這篇文章主要介紹了Python?中strip()函數(shù)詳細(xì)說明及使用方法,需要的朋友可以參考下
    2024-02-02
  • python分布式編程實現(xiàn)過程解析

    python分布式編程實現(xiàn)過程解析

    這篇文章主要介紹了python分布式編程實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Python同時處理多個異常的方法

    Python同時處理多個異常的方法

    這篇文章主要介紹了Python同時處理多個異常的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評論

隆林| 冀州市| 英吉沙县| 桓台县| 林西县| 崇仁县| 彩票| 怀柔区| 育儿| 绥德县| 依安县| 阳高县| 泾阳县| 济阳县| 原平市| 浦北县| 根河市| 海门市| 镇雄县| 临泉县| 旺苍县| 石林| 武夷山市| 大方县| 嘉义市| 清河县| 乌拉特中旗| 剑川县| 铁岭县| 登封市| 拜泉县| 竹北市| 阳春市| 广丰县| 南陵县| 左权县| 新郑市| 延安市| 潍坊市| 定州市| 抚顺县|