均值滤波器、中值滤波器、滤波器的常见应用。
源:機器視覺算法與應(yīng)用?
在機器視覺中,圖像濾波器無處不在。例如,它們用于減少圖像噪聲,改善對比度或檢測邊緣。本文將向您介紹MVTec HALCON中一些最常用的濾波器,它們是如何工作的以及可以用于什么。
mean_image:均值濾波器
首先,我們讀取具有背景紋理的示例圖像。我們的目標(biāo)是在不改變實際信息的情況下刪除背景紋理。讓我們從一個易于理解的通用運算符開始:mean_image。
在生成的圖像中,背景紋理已被很好地去除,但是很多相關(guān)信息已經(jīng)丟失。那么,此濾波器如何工作?
為了調(diào)用mean_image, 我們指定了掩碼大小。
*Halcon?mean_image?函數(shù)原型 mean_image(Image?:?ImageMean?:?MaskWidth,?MaskHeight?:?)read_image(Image,'plan_01') mean_image(Image,Mean,3,3)對于每個像素,將創(chuàng)建具有指定寬度和高度的蒙版。然后,我們在此蒙版中獲取灰度值并計算平均值。將該平均值分配給中心像素。因此,圖像濾波后非常均勻平滑。另一個類似的運算符是median_image。
median_image:中值濾波器
默認情況下,使用圓形蒙版。對灰度值進行排序,并將“中間”值設(shè)置為新的灰度值。因此,中位數(shù)是更可靠的平均值,離群值對其影響不大。此外,在保留銳利邊緣方面要好得多。
但是,更詳細的信息,例如此處顯示的數(shù)字,應(yīng)用濾波器后仍然很模糊。為了進行比較,這是均值濾波器的結(jié)果。
還有更多運算符可用于平滑圖像。請參閱“濾波器/平滑處理”一章參考,以獲取全面概述。
為了消除此圖像中的背景噪音,使用滾動導(dǎo)向濾波器(Rolling Guidance Filter)是一種高級選擇。您可以在文檔中看到令人印象深刻的結(jié)果。
第(3)張圖片顯示了提取的紋理。要獲得此圖像,我們使用算術(shù)濾波器sub_image。在這里,我們將原始圖像減去被濾波器過濾的圖像。生成的圖像顯示了提取的紋理。
濾波器的常見用例
讓我們看一下基本過濾器的一些常見用例。
去除噪聲
在這里,我們讀取了植物的圖像,并添加了一些椒鹽噪聲。使用median_image,我們可以非常有效地消除這種噪聲。另外,白噪聲是硬件引入的常見問題。在這里,均值濾波器和中值濾波器都可以產(chǎn)生好的結(jié)果。
使用滾動式導(dǎo)向濾波器,結(jié)果看起來非常不錯。但是總運行時間會大大增加。在此太陽能電池圖像中,我們希望擺脫水平線。在此,中值濾波器產(chǎn)生視覺上令人滿意的結(jié)果。
圖像分割
在下一張圖片中,我們的目標(biāo)是使用閾值來檢測缺陷。但是,在灰色直方圖中,我們不容易看到缺陷。因此,我們應(yīng)用中值濾波器,現(xiàn)在,直方圖中這個小的“丘陵”變得可區(qū)分并且可以輕松地進行分段,如下圖所示,medain_filter前后。類似地,可以在分割圖像以創(chuàng)建感興趣區(qū)域之前應(yīng)用濾波器。
另一個很好的例子是您要識別圖像中的文本。通過濾波器預(yù)處理改善運行時間或提高魯棒性。
一個常見的分割運算符是dyn_threshold,它使用局部閾值。通常,ThresholdImage是原始圖像的平滑版本。在此示例中,我們使用它粗略地劃分了盲文。
*Segment?braille?with?dyn_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
校正不均勻照明
濾波器的另一個常見用例是照明的校正(算術(shù)濾波器的使用)。在這里,我們使用背光設(shè)置獲取圖像。注意照明不是完全均勻的。為了解決這個問題,我們獲取背景圖像,然后從原始圖像中減去該背景圖像。結(jié)果是更好的照明圖像。
*correct?illumination. read_image?(Image,'images/correct_shading_02.png') read_image?(Background,?'images/correct_shading_01.png') sub_image?(image,Background,ImageSub,?1,255)增強局部細節(jié)
在此圖像中,我們要增強細節(jié)。為此,我們首先對圖像進行平滑處理。然后,我們從原始圖像中減去平滑圖像,從而為我們提供了細節(jié)。然后,我們將這些詳細信息添加到原始文件中。如下圖所示增強局部細節(jié)前后。
*Enhance?details. 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時使用的是縮小區(qū)域,大多數(shù)過濾器僅返回輸入域中包含的像素的結(jié)果,區(qū)域外的像素變?yōu)椤拔炊x”。當(dāng)應(yīng)用兩個或多個濾波器時,這可能會導(dǎo)致圖像邊界出現(xiàn)偽影。
總結(jié)
以上是生活随笔為你收集整理的均值滤波器、中值滤波器、滤波器的常见应用。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux之unzip命令
- 下一篇: 泛娱乐出海走出水土不服,元宇宙社交诞生新