在機器視覺中,圖像濾波器無處不在。例如,它們用于減少圖像噪聲,改善對比度或檢測邊緣。本文將向您介紹MVTec HALCON中一些最常用的濾波器,它們是如何工作的以及可以用于什么。
mean_image:均值濾波器
首先,我們讀取具有背景紋理的示例圖像。我們的目標是在不改變實際信息的情況下刪除背景紋理。讓我們從一個易于理解的通用運算符開始:mean_image。
在生成的圖像中,背景紋理已被很好地去除,但是很多相關信息已經丟失。那么,此濾波器如何工作?
為了調用mean_image, 我們指定了掩碼大小。
*Halconmean_image函數原型 mean_image(Image:ImageMean:MaskWidth,MaskHeight:)
read_image(Image,'plan_01') mean_image(Image,Mean,3,3)
對于每個像素,將創建具有指定寬度和高度的蒙版。然后,我們在此蒙版中獲取灰度值并計算平均值。將該平均值分配給中心像素。因此,圖像濾波后非常均勻平滑。
另一個類似的運算符是median_image。
median_image:中值濾波器
默認情況下,使用圓形蒙版。對灰度值進行排序,并將“中間”值設置為新的灰度值。因此,中位數是更可靠的平均值,離群值對其影響不大。此外,在保留銳利邊緣方面要好得多。
但是,更詳細的信息,例如此處顯示的數字,應用濾波器后仍然很模糊。為了進行比較,這是均值濾波器的結果。
還有更多運算符可用于平滑圖像。請參閱“濾波器/平滑處理”一章參考,以獲取全面概述。
為了消除此圖像中的背景噪音,使用滾動導向濾波器(Rolling Guidance Filter)是一種高級選擇。您可以在文檔中看到令人印象深刻的結果。
第(3)張圖片顯示了提取的紋理。要獲得此圖像,我們使用算術濾波器sub_image。在這里,我們將原始圖像減去被濾波器過濾的圖像。生成的圖像顯示了提取的紋理。
濾波器的常見用例
讓我們看一下基本過濾器的一些常見用例。
去除噪聲
在這里,我們讀取了植物的圖像,并添加了一些椒鹽噪聲。使用median_image,我們可以非常有效地消除這種噪聲。另外,白噪聲是硬件引入的常見問題。在這里,均值濾波器和中值濾波器都可以產生好的結果。
使用滾動式導向濾波器,結果看起來非常不錯。但是總運行時間會大大增加。在此太陽能電池圖像中,我們希望擺脫水平線。在此,中值濾波器產生視覺上令人滿意的結果。
在下一張圖片中,我們的目標是使用閾值來檢測缺陷。但是,在灰色直方圖中,我們不容易看到缺陷。因此,我們應用中值濾波器,現在,直方圖中這個小的“丘陵”變得可區分并且可以輕松地進行分段,如下圖所示,medain_filter前后。類似地,可以在分割圖像以創建感興趣區域之前應用濾波器。
另一個很好的例子是您要識別圖像中的文本。通過濾波器預處理改善運行時間或提高魯棒性。
一個常見的分割運算符是dyn_threshold,它使用局部閾值。通常,ThresholdImage是原始圖像的平滑版本。在此示例中,我們使用它粗略地劃分了盲文。
*Segmentbraillewithdyn_threshold. read_image(Image,'photometric_stereo/embossed_01') mean_image(Image,ImageMean,60,60) dyn_threshold(Image,ImageMean,RegionDynThresh,15,'not_equal')
segment-braille-with-dyn_threshold
校正不均勻照明
濾波器的另一個常見用例是照明的校正(算術濾波器的使用)。在這里,我們使用背光設置獲取圖像。注意照明不是完全均勻的。為了解決這個問題,我們獲取背景圖像,然后從原始圖像中減去該背景圖像。結果是更好的照明圖像。
*correctillumination. read_image(Image,'images/correct_shading_02.png') read_image(Background,'images/correct_shading_01.png') sub_image(image,Background,ImageSub,1,255)
增強局部細節
在此圖像中,我們要增強細節。為此,我們首先對圖像進行平滑處理。然后,我們從原始圖像中減去平滑圖像,從而為我們提供了細節。然后,我們將這些詳細信息添加到原始文件中。如下圖所示增強局部細節前后。
*Enhancedetails. read_image(Image,'angio-part') guided_filter(Image,image,ImageSmooth,5,10) sub_image(Image,ImageSmooth,ImageDetail,5,0) add_image(ImageDetail,Image,ImageDetailEnhanced,1,0)
最后,需要說明濾波器時必須注意的一個效果:
在reduce_domain時使用的是縮小區域,大多數過濾器僅返回輸入域中包含的像素的結果,區域外的像素變為“未定義”。當應用兩個或多個濾波器時,這可能會導致圖像邊界出現偽影。
審核編輯:劉清
-
濾波器
+關注
關注
160文章
7728瀏覽量
177685 -
機器視覺
+關注
關注
161文章
4345瀏覽量
120111 -
圖像濾波器
+關注
關注
0文章
4瀏覽量
5257
原文標題:常用的圖像濾波方法簡介-基于HALCON視覺算法包
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論