05 -2 Scipy中 face()新增噪聲、濾波器的使用、
登月圖片消噪
import numpy as np
import matplotlib.pyplot as plt
import scipy.misc as misc
匯入圖片,觀察黑白圖片和彩色圖片的區別
moon_ndarr = plt.imread("./moonlanding.png")
moon_ndarr
# cmap color map 顏色對映cmap中可以使用的值,有很多可以在錯誤提示中檢視
plt.imshow(moon_ndarr,cmap="gray")
ndarr.shape
結果為:(474, 630)
黑白圖片和彩色圖片是有區別的,彩色圖片是三維陣列 行 列 (點)【r g b】
黑白圖 是二維陣列 行 列 (點)就是單獨的一個值了 這個值表示的是亮度
圖片的灰度化處理
圖片灰度化處理過的, r g b 亮度 把三個值 變成 一個值,取最大值,或者取三個色值的平均值或者取加權平均。
face = misc.face()
plt.imshow(face)
plt.imshow(face.max(axis=-1),cmap="gray")
plt.imshow(face.mean(axis=-1),cmap="gray")
plt.imshow(np.dot(face,ndarr1),cmap="gray")
通過傅立葉變換實現圖片降噪
scipy.fftpack模組用來計算快速傅立葉變換,速度比傳統傅立葉變換更快,是對之前演算法的改進,圖片是二維資料,注意使用fftpack的二維轉變方法.
plt.imshow(moon_ndarr,cmap="gray")
from scipy.fftpack import fft2,ifft2
# 通過傅立葉變換 把描述值的值 變成 描述變化的值
fft_moon = fft2(moon_ndarr)
#np.abs(fft_moon) # 只關心變化大小 所以這裡取一下絕對值
fft_moon[np.abs(fft_moon)> 800] = 0 #把變化很大的值 歸零
#ifft2(fft_moon) #找出變化很大的值,把處理後的 描述變化的值變回描述值的值
ifft_moon = np.real(ifft2(fft_moon)) #只要裡面的實數
# 按照 處理後的 描述值的值 去渲染
plt.figure(figsize=(12,9))
plt.imshow(ifft_moon,cmap="gray")
圖片進行過,新增噪聲,對噪聲圖片使用ndimage中的高斯濾波、中值濾波、signal中維納濾波進行處理,使圖片變清楚
新增噪聲
載入圖片,使用灰色圖片misc.face()新增噪聲
#新增噪聲
noise = np.random.randint(0,100,size=face.shape)
noise
plt.imshow(noise,cmap="gray")
face = misc.face(gray=True)
test_data =face+noise
plt.imshow(test_data,cmap="gray")
處理噪聲
median中值濾波引數size:給出在每個元素上從輸入陣列中取出的形狀位置,定義過濾器功能的輸入
gaussian高斯濾波引數sigma:高斯核的標準偏差
signal維納濾波引數mysize:濾鏡尺寸的標量
import scipy.ndimage as ndimage
from scipy.signal import wiener
median_data = ndimage.median_filter(test_data,size=7)
plt.imshow(median_data,cmap="gray")
gaussian_data = ndimage.gaussian_filter(test_data,sigma=2)
plt.imshow(gaussian_data,cmap="gray")
wiener_data = wiener(test_data,mysize = 7)
plt.imshow(wiener_data,cmap="gray")
相關文章
- 感測器噪聲
- 影像處理技術(二)濾波去噪(上)
- 數字濾波器和模擬濾波器(一)
- Unity元件:AudioChorusFilterPROonly音訊合聲濾波器Unity元件Filter音訊
- Shader 中的隨機與噪聲隨機
- 點雲濾波器與過濾器過濾器
- Gabor濾波器學習
- 音訊降噪-fir濾波器音訊
- 卡爾曼濾波器(Kalman Filters)Filter
- Kalman濾波器的原理與實現
- Vivado使用技巧(16):SSN轉換噪聲分析
- 超聲波測距模組使用
- matlab 濾波器中用到的函式Matlab函式
- 卡爾曼濾波器預測原理
- [Python影象處理] 四.影象平滑之均值濾波、方框濾波、高斯濾波及中值濾波Python
- 視覺化學習 | 如何使用噪聲生成紋理視覺化
- OpenCV計算機視覺學習(4)——影像平滑處理(均值濾波,高斯濾波,中值濾波,雙邊濾波)OpenCV計算機視覺
- 判斷低通濾波器的相位變化
- 卷積濾波器如何提取影象特徵卷積特徵
- 卡爾曼濾波器學習筆記筆記
- 測試卡爾曼濾波器(Kalman Filter)Filter
- 利用噪聲構建美妙的 CSS 圖形CSS
- 影像噪聲學習記錄(1)
- 【OpenCV】鄰域濾波:方框、高斯、中值、雙邊濾波OpenCV
- django2中自定義過濾器Django過濾器
- 【過濾器】web中過濾器的使用與亂碼問題解決過濾器Web
- 卡爾曼濾波
- [譯] TensorFlow 教程 #12 - MNIST的對抗噪聲
- 利用Matlab filterDesigner 工具生成FIR濾波器函式,並呼叫實現低通濾波MatlabFilter函式
- 如何降低白噪聲對網站使用者體驗的影響?網站
- Hugging Face 分詞器新增聊天模板屬性Hugging Face分詞
- 4、過濾器的使用及自定義過濾器過濾器
- OpenCV 線性濾波OpenCV
- scipy.misc中的imresize
- 模擬積體電路設計系列部落格——8.2.3 振盪器的相位噪聲
- Filter過濾器的使用Filter過濾器
- 濾波演算法——十大濾波演算法程式大全演算法
- 應用噪聲函式製作火焰特效函式特效