2021-03-04 Halcon初学者知识 【18】谈谈秩滤波(Rank filter)
對(duì)一幅圖像進(jìn)行各種空間域?yàn)V波可能大家都比較熟悉,本篇我們專門講講不太常見的濾波模式----秩濾波。這種濾波是基于對(duì)圖像的區(qū)域進(jìn)行奇異值分解而得到。換句話說,如同均值濾波,總有一個(gè)filter區(qū)域,在該區(qū)域取均值填充,秩濾波也取filter,只是將filter的像素進(jìn)行奇異值分解后,用結(jié)果數(shù)據(jù)填充。
如果讀者對(duì)奇異值分解不太清楚,也可以這樣理解:“中值濾波是取中間,Rank濾波專門取兩頭”。
關(guān)于光照處理的相關(guān)函數(shù);首先是:
rank_image(Image,?Mask?:?ImageRank?:?Rank,?Margin?: )
Image:輸入被測(cè)量圖片
Mask:過濾區(qū)域(圓,矩形均可)用gen_circle (Mask, 200, 200, 10.5)語句生成;
?ImageRank:被分成等級(jí)的圖像,輸出項(xiàng)。
Rank:被分的等級(jí),1 ≤?Rank?≤ 4095,考慮其它亞像素圖像,這個(gè)等級(jí)很多。
Margin:是對(duì)邊緣如何處理,或補(bǔ)零、或鏡像等。
** 灰度分級(jí)的操作,先建立一個(gè)Mask區(qū)域,通過將該區(qū)域在整個(gè)圖像滑動(dòng),獲取圖像的等級(jí)圖像;
* Smooth an image with an arbitrary rank mask. * read_image (Image, 'cross') gen_circle (StructEl, 200, 200, 3.5) area_center (StructEl, Area, Row, Column) rank_image (Image, StructEl, Dilation, Area, 'mirrored') rank_image (Dilation, StructEl, Closing, 1, 'mirrored')??
左邊是原圖,右邊是經(jīng)過處理的圖像
?
dual_rank(Image?:?ImageRank?:?MaskType,?Radius,?ModePercent,?Margin?: )
Image:輸入被測(cè)量圖片
ImageRank:被分成等級(jí)的圖像,輸出項(xiàng)。
?MaskType:兩個(gè)選項(xiàng)來指定Mask形狀: 'circle',? 'square'
?Radius : Mask尺寸 1 ≤?Radius?≤ 101
?ModePercent:0 ≤?ModePercent?≤ 100 選擇百分率;如果是0.5,就是中值濾波
?Margin:是對(duì)邊緣如何處理,或補(bǔ)零、或鏡像等。
說明:運(yùn)算符dual_rank過程中將兩次調(diào)用rank_image函數(shù)。在第一次調(diào)用時(shí),使用指示的范圍(ModePercent)計(jì)算范圍灰度值。將運(yùn)算結(jié)果當(dāng)做輸入,進(jìn)一步調(diào)用rank_image,這次使用范圍值100%。
read_image(Image,'cross') dual_rank(Image,ImageOpening,'circle',3.5,90,'mirrored') disp_image(ImageOpening,3600)總結(jié)
以上是生活随笔為你收集整理的2021-03-04 Halcon初学者知识 【18】谈谈秩滤波(Rank filter)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Halcon初学者知识【19】带pain
- 下一篇: 2021-03-08 Halcon初学者