一、平滑模糊處理
以Dalsa sherlock軟件為例,一起來了解一下視覺檢測中平滑模糊的圖像處理方法。
1、觀察灰度分布來描述一幅圖像稱為空間域,觀察圖像變化的頻率被稱為頻域。
2、頻域分析:低頻對應區域的圖像強度變化緩慢,高頻對應的變化快。低通濾波器去除了圖像的高頻部分,高通濾波器去除了圖像的低頻部分
平滑模糊處理(低通)
高斯濾波,中值濾波,均值濾波都屬于低通濾波,一副圖像的邊緣、跳躍部分以及顆粒噪聲代表圖像信號的高頻分量,而大面積的背景區則代表圖像信號的低頻信號,用濾波的方式濾除其高頻部分就能去掉噪聲。
在Sherlock中,采用低通處理來平滑圖像的算法包括:Lowpass,Lowpass5X5,Gaussian ,Gaussian5X5,GaussianWXH,Median,Smooth。
低通濾波:Lowpass Lowpass5X5
在Sherlock中的這兩個算法,直接理解為低通濾波,根據文檔中的描述,這兩個算法分別是對3x3和5x5大小尺寸內進行均值平滑圖像,可重復多次執行,未能理解與smooth算法的區別。
(1)均值濾波:Smooth
均值濾波最簡單的低通濾波,根據設定的尺寸,將相鄰像素取平均值,Sherlock中使用的是3x3大小的尺寸,每個點的像素值由其原像素值和其周圍的8個像素值的平均值取代。
例如下圖,在3x3大小的過濾尺寸內,中心點原來的像素值為1,相鄰像素取平均值為2,則經過均值濾波處理過,中心點的像素為2。
(2)中值濾波:Median
根據設定的尺寸,將區域內的像素進行排序,中心點的像素值由過濾尺寸內的位于中間的像素值取代,中值濾波對于去除小的噪點或者脈沖噪聲效果非常好,中值濾波會改變圖像的結構,圖像的強度被改變。
(3)高斯濾波:Gaussian Gaussian5X5 GaussianWXH
高斯濾波就是對整幅圖像進行加權平均的過程,每一個像素點的值,都由其本身和鄰域內的其他像素值經過加權平均后得到,模糊了圖像的細節。常用于出去噪點,平滑邊緣。
高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內像素的加權平均灰度值去替代模板中心像素點的值。
Gaussian:使用一個3X3大小,濾波器系數是一個標準差為0.85的二維高斯分布,可多次執行
Gaussian5X5:使用一個5X5大小,濾波器系數是一個標準差為1的二維高斯分布,可多次執行,但是增加執行次數會增大標準差的值,近似于重復次數的平方根。
注意:每次重復使用之后,都會圖像的邊界留出2個像素保持像素不變,如果對圖像邊界有影響,注意設定邊界的灰度值
GaussianWXH:使用一個可以設定尺寸大小,確定權重的標準差也可以設定,一個大的高斯過濾器可以用重復多次的小的高斯來實現。例如重復執行一個3x3或者5x5高斯,執行次數N*1.4或者N*2.8為過濾的尺寸,例如3x3執行9次,過濾的尺寸大約是9*1.4,與一個13X13高斯差不多。
標準差σ
Sigma 越大,分布越均勻,周圍的權重越大,模糊程度越大。
Sigma越小,分布越集中,靠近中心的權重越大,模糊程度越小。
均值 高斯
二、銳化 強化處理
圖像的銳化處理,使圖像邊緣更清晰,細節增強。
Sherlock中用于銳化圖像的算法有各種卷積:1X3,1X5,1X7,3X3,5X1,5X5,7X1,Chatter Edge,Gradient,Highpass ,Sharpen
◆ 1X3,1X5,1X7,3X3,5X1,5X5,7X1
分別是選擇不同尺寸的卷積核,每個位置的像素與相鄰像素通過設定的卷積核進行卷積運算。
假如目標像素點和它周邊的值(上下左右前后的臨點,具體的比鄰范圍依賴于算子的大小,3*3的算子比鄰范圍為1,5*5的為2,以此類推)得有較大差異,那么就可以通過這個算子對原圖矩陣中的這個位置進行卷積運算,得出的值和該像素點原來的灰度值會產生顯著的差異。當這種前后差異超過我們預設的范圍后,就將這個像素點標記為255(白色),其余點標記為0(黑色),這樣就得到了一黑色為背景,白色線條作為邊緣或形狀的邊緣提取效果圖。銳化算子:通過卷積運算,可以增大矩陣每一個元素與周邊元素的方差,輕則起到銳化作用,重則成了邊緣提取。反之,則是去噪過程。
上圖為算法的參數就是設置卷積核的參數
◆ Chatter Edge
用于對噪音的或者模糊的邊緣的提取,過濾尺寸可以自定義。輸出的是二值化的或者修剪灰度比例的圖像。由于機械振動引起的圖像跳動,如下圖:
使用一個可以調整過濾內核尺寸的差分過濾器,例如過濾尺寸為4的內核為{-1,0,0,1}或者過濾尺寸為6的內核為{-1,0,0,0,0,1}。這個過濾器在水平方向,垂直方向或者兩者都有的方向掃描輸入圖像,得到輸出圖像。
應用一個過濾尺寸為16的,“X”方向過濾的過濾器,增強圖中對比度比較低的邊緣。
任何輸出低于邊緣閾值的值設定為0.等于或者大于邊緣閾值的值輸出為全白,如果keep gray above設為True,保留原來的值。Filter size (卷積內核尺寸)可以設為2-255,由于卷積是線形操作,我們可以把這個差分過濾分成兩個矩形(取樣積分器)過濾器。一個過濾器相對于另一個過濾器偏移一個像素。一個矩形過濾器是低通濾波器,用來去除噪音。-1,…。,1這些是用來增強邊緣的。
Filter direction 設定過濾器的方向。“X”表示過濾器是水平的,“Y”表示過濾器是垂直的,這兩個都會使過濾器掃描穿過輸入圖像,得到輸出圖像。如果是“either”,兩個方向的過濾都應用。如果keep gray above設為false, X和Y的過濾結果通過邏輯OR合并處理。如果keep gray above設為true,輸出是X和Y方向的最大值。
Transition type 設定邊緣對比度變化。“Dark-to-light” 放大由暗到亮的邊緣,“light-to-dark”放大由亮到暗的邊緣。“either”兩種對比度變化都被放大。
下側的圖像顯示了一個非常緩慢和擴散過渡的邊緣,右側的圖像顯示了應用了一個過濾尺寸為10的chatter edges結果的圖像。
◆Gradient 梯度銳化,線性ROI使用的
根據由距離分開的像素,使用線性梯度增強邊緣
output = abs[ (n - separation/2) - (n + separation/2) ]
◆Highpass Highpass5x5 高通濾波
◆Sharpen
在圖像增強過程中,通常利用各類圖像平滑算法消除噪聲。一般來說,圖像的能量主要集中在其低頻部分,噪聲所在的頻段主要在高頻段,同時圖像邊緣信息也主要集中在其高頻部分。這將導致原始圖像在平滑處理之后,圖像邊緣和圖像輪廓模糊的情況出現(平滑可以認為是去除噪聲,這樣也就模糊了圖像的邊緣信息)。
為了減少這類不利效果的影響,就需要利用圖像銳化技術,使圖像的邊緣變得清晰。圖像銳化處理的目的是為了使圖像的邊緣、輪廓線以及圖像的細節變得清晰,經過平滑的圖像變得模糊的根本原因是因為圖像受到了平均或積分運算,因此可以對其進行逆運算(如微分運算)就可以使圖像變得清晰。
微分運算是求信號的變化率,由傅立葉變換的微分性質可知,微分運算具有較強高頻分量作用。從頻率域來考慮,圖像模糊的實質是因為其高頻分量被衰減,因此可以用高通濾波器來使圖像清晰。但要注意能夠進行銳化處理的圖像必須有較高的性噪比,否則銳化后圖像性噪比反而更低,從而使得噪聲增加的比信號還要多,因此一般是先去除或減輕噪聲后再進行銳化處理。
-
濾波器
+關注
關注
161文章
7859瀏覽量
178739 -
機器視覺
+關注
關注
162文章
4405瀏覽量
120600 -
圖像預處理
+關注
關注
0文章
9瀏覽量
6283
原文標題:機器視覺檢測中的圖像預處理方法:平滑模糊處理,銳化
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論