1. 程式人生 > >opencv:線性和非線性濾波

opencv:線性和非線性濾波

各種濾波學習
各種濾波:減小圖片的噪聲點
影象濾波得目的:1、抽出物件的特徵作為影象識別的特徵
2、消除影象所混入的噪聲
平滑濾波:低頻增強的濾波:1:模糊 2:消除噪音
%線性濾波器
1)方框濾波-BoxBlur
2)均值濾波-Blur
3)高斯濾波-GaussianBlur
%非線性濾波器
4)中值濾波-medianBlur
5)雙邊濾波-bilateralFilter
python函式學習
1、方框濾波

cv2.boxFilter(src,dst,ddepth,Size,Point,normalize,borderType)

src:原圖片,Mat型別;
dst:目標圖片(可預設)
ddepth=-1(預設原始影象深度)
Size:ksize,核心大小
boxFilter所用的核
全1的矩陣:
這裡寫圖片描述


2、均值濾波
主要是用領域平均,將圖片區域的個畫素的均值代替原影象的各個畫素值。
缺陷:不能很好的保護圖片的細節,去除噪聲的同時破壞了圖片的細節部分。
用blur函式:
3、高斯濾波
可以消除高斯噪聲,高斯濾波就是對整幅影象進行加權平均的過程,每一個畫素點的值,是通過與周圍的點經過加權平均得到。就是影象與正態分佈做卷積。
函式為:

cv2.GaussianBlur(src,ksize,sigmaX,sigmaY)

src:圖片
ksize:高斯核大小
sigmaX,sigmaY:高斯分佈的方差。
高斯計算:
通過對卷積核(高斯核)進行權重分配,權重分配遵循高斯分佈,接著對矩陣做高斯濾波。高斯權重分配矩陣:假設以中心點為原點(0,0),其他點在正太分佈的曲線上。

非線性濾波
有時非線性濾波會得到更好的效果。在噪聲不是高斯噪聲而是散粒噪聲時,即影象偶爾會出現很大的值得時候,用高斯濾波只是將其變得更加柔和而已。
1)中值濾波
思想:用畫素點鄰域灰度值,的中值代替畫素的灰度值,該方法去除椒鹽噪聲、脈衝噪聲又同時保留影象的邊緣細節。
計算方式:選擇每個畫素的鄰域畫素中的中值作為輸出。
函式:

cv2.medianBlur(src,ksize)%ksize:表示必須是奇數

2)雙邊濾波
結合影象的空間領域和畫素相似度的一種這種方法。考慮到了空間資訊和灰度值資訊,從而進行去燥。
雙邊濾波可以很好的保留邊緣資訊。
這裡寫圖片描述
函式為

cv2.bilateralFilter
(img,4,25,25)) cv2.bilateralFilter(src,d,sigmaColor,sigmaspace)

src:原始影象
d:每個畫素領域的直徑
sigmaColor:顏色空間濾波器sigma的值,引數越大表明與鄰域畫素相關性越大
sigmaSpace:空間座標中sigma的值,座標方差大,表明越遠的畫素會相互影響。

相關推薦

opencv線性非線性濾波

各種濾波學習 各種濾波:減小圖片的噪聲點 影象濾波得目的:1、抽出物件的特徵作為影象識別的特徵 2、消除影象所混入的噪聲 平滑濾波:低頻增強的濾波:1:模糊 2:消除噪音 %線性濾波器 1)方框濾波-BoxBlur 2

opencv線性非線性濾波(程式)分析

線性濾波的方框濾波,均值濾波與高斯濾波,屬於非線性濾波的中值濾波,雙邊濾波,對應的程式中都給出了,這是一個綜合的測試程式。 #include <opencv2\opencv.hpp> #include <opencv2\highgui\highgui.hpp> #in

logistic 回歸(線性非線性

num itl [1] tex sns RKE rec 損失函數 pos 一:線性logistic 回歸 代碼如下: import numpy as np import pandas as pd import matplotlib.pyplot as plt import

怎樣區分線性非線性_線性非線性的區別(線性分析、線性模型)

一直對線性非線性沒有很準確的定義認識,今天特意查了查,特此記錄下。 怎樣區分線性和非線性 1.線性Line,是指量與量之間按照比例成直線關係,在數學上可理解為一階導數是個常數;    非線性non-line則指不按照比例不成直線關係,一節導數不為常數。 2.線性可

用tensorflow實現svm的線性非線性分類

線性分割:# coding: utf-8 # In[1]: import matplotlib.pyplot as plt import numpy as np from sklearn import datasets import tensorflow as tf

OpenCV入門教程之八】線性鄰域濾波專場方框濾波、均值濾波與高斯濾波

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

第四天 opencv 影象變換空間影象濾波

####################這段是轉載,解釋影象變換和空間濾波區別即cv.medianBlur和cv.filter2D####### 在空間域的操作主要可以分為兩類:第一類是所謂的“影象強度變換”(Intensity Transform),另一類是所謂的“空間域影象濾波”(Spati

線性濾波非線性濾波區別

數字影象處理線性濾波: 輸出影象fo(x,y)= T[ fi(x,y) ],T是線性運算元,即:輸出影象上每個畫素點的值都是由輸入影象各畫素點值加權求和的結果。 非線性濾波的運算元中包含了取絕對值、置零等非線性運算。 線性濾波器的原始資料與濾波結果是一種算術運算,即用加減乘除等運算實現,

資料結構 筆記線性表的本質操作

線性表(List)的表現形式 -零個或多個數據元素組成的集合 -資料元素在位置上是有序排列的 -資料元素的個數是有限的 -資料元素的型別必須相同 線性表(List)的抽象定義 線性表是具有相同型別的n( >= 0)個數據元素的有限序列 線性表(List)的性質

OpenCV濾波操作

轉自:https://www.cnblogs.com/skyfsm/p/6873188.html   濾波處理分為兩大類:線性濾波和非線性濾波。OpenCV裡有這些濾波的函式,使用起來非常方便,現在簡單介紹其使用方法。 線性濾波:方框濾波、均值濾波、高斯濾波 方框濾波

OpenCV3.0 + VS2013配置三編譯除錯OpenCV原始碼

在前文 OpenCV3.0 + VS2013 配置一:基本配置中提到 安裝包中沒有所需版本的dll情況下,需要利用cmake + VS構建和編譯OpenCV,而且這樣利用我們自己編譯得到的庫檔案還可以對OpenCV原始碼進行跟蹤除錯和修改,是OpenCV學習過程邁向“天師級”的基本要求

線性變化非線性變化

1、線性變化的定義:具有如下性質的函式T:對於向量u和v,有T(u+v)=T(u)+T(v);對於標量a,有T(av)=aT(v),就是叫做線性變化 T(u+v)=T(u)+T(v)的理解: 變化可以理解為函式,因此線性變化可以理解為線性函式(一次函式,但是這個一次函式要經過原點),因此可以有如下的舉例

機器學習線性迴歸嶺迴歸入門程式碼

機器學習中運用python進行對房子價格的預測程式碼,資料庫直接使用sklearn自帶的boston,使用三種方法進行預測,分別是:線性迴歸直接預測、梯度下降預測、嶺迴歸預測 from sklearn.datasets import load_boston fr

matlab中的中值濾波medfilt2()opencv中的中值濾波medianblur()是不同的

matlab中的中值濾波medfilt2()和opencv中的中值濾波medianblur()做出的結果不同,如圖所示: Opencv處理結果如下: Matlab處理結果如下: Opencv處理過程中的程式程式碼: float aa[] = { 1, 2, 3, 4, 5, 6, 7,

第四天 opencv 影象變換空間影象濾波

####################這段是轉載,解釋影象變換和空間濾波區別即cv.medianBlur和cv.filter2D####### 在空間域的操作主要可以分為兩類:第一類是所謂的“影象強度變換”(Intensity Transform),另一類是所謂的“空間域

OpenCV入門教程之九】 非線性濾波專場 中值濾波 雙邊濾波

                正如我們上一篇文章中講到的,線性濾波可以實現很多種不同的影象變換。然而非線性濾波,如中值濾波器和雙邊濾波器,有時可以達到更好的實現效果。鄰域運算元的其他一些例子還有對二值影象進行操作的形態學運算元,用於計算距離變換和尋找連通量的半全域性運算元。 先上一張截圖:一、理論與概念講解

OpenCV入門教程之八】線性鄰域濾波專場 方框濾波 均值濾波與高斯濾波

本系列文章由@淺墨_毛星雲 出品,轉載請註明出處。 寫作當前博文時配套使用的OpenCV版本: 2.4.8本篇文章中,我們一起仔細探討了OpenCV影象處理技術中比較熱門的影象濾波操作。影象濾波系列文章淺墨準備花兩次更新的時間來講,此為上篇,為大家剖析了“方框濾波“,”均值濾波“和”高斯濾波“三種常見線性鄰域

線性迴歸模型非線性迴歸模型的區別是

線性就是每個變數的指數都是1,而非線性就是至少有一個變數的指數不是1。 通過指數來進行判斷即可。 線性迴歸模型,是利用數理統計中迴歸分析,來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分析方法,運用十分廣泛。其表達形式為y = w'x+e,e為誤差服從均值為0的正態分佈。線性迴歸模型是

OpenCV入門平滑處理 — 方框濾波

平滑處理 — 方框濾波 相關函式: C++: void boxFilter(InputArray src,OutputArray dst, int ddepth, Size ksize, Point anchor=Point(-1,-1), boolnormalize=true, i

線性光耦 非線性光耦

光電耦合器又稱光耦(opticalcoupler,OC),其原理是把發光器(紅外線發光二極體LED)與受光器(光敏半導體管)封裝在同一管殼內,當輸入端加電訊號時發光器發出光線,受光器接受光線之後就產生光電流,從輸出端流出,從而實現“電—光—電”轉換。它具有體積小、壽命長、