乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      機(jī)器視覺檢測中的圖像預(yù)處理方法

       InfoRich 2021-11-30

      重磅干貨,第一時(shí)間送達(dá)

      Image

      本文以Dalsa sherlock軟件為例,一起來了解一下視覺檢測中平滑模糊的圖像處理方法。

      Image

      1.觀察灰度分布來描述一幅圖像稱為空間域,觀察圖像變化的頻率被稱為頻域。 

      2.頻域分析:低頻對應(yīng)區(qū)域的圖像強(qiáng)度變化緩慢,高頻對應(yīng)的變化快。低通濾波器去除了圖像的高頻部分,高通濾波器去除了圖像的低頻部分

      平滑模糊處理(低通)

      高斯濾波,中值濾波,均值濾波都屬于低通濾波

      一副圖像的邊緣、跳躍部分以及顆粒噪聲代表圖像信號(hào)的高頻分量

      而大面積的背景區(qū)則代表圖像信號(hào)的低頻信號(hào)

      用濾波的方式濾除其高頻部分就能去掉噪聲。

       在Sherlock中,采用低通處理來平滑圖像的算法包括:Lowpass,Lowpass5X5,Gaussian ,Gaussian5X5,GaussianWXH,Median,Smooth

       低通濾波Lowpass     Lowpass5X5

      在Sherlock中的這兩個(gè)算法,直接理解為低通濾波,根據(jù)文檔中的描述,這兩個(gè)算法分別是對3x3和5x5大小尺寸內(nèi)進(jìn)行均值平滑圖像,可重復(fù)多次執(zhí)行,未能理解與smooth算法的區(qū)別

      (1)均值濾波:Smooth

                均值濾波最簡單的低通濾波,根據(jù)設(shè)定的尺寸,將相鄰像素取平均值,Sherlock中使用的是3x3大小的尺寸,每個(gè)點(diǎn)的像素值由其原像素值和其周圍的8個(gè)像素值的平均值取代。

      例如下圖,在3x3大小的過濾尺寸內(nèi),中心點(diǎn)原來的像素值為1,相鄰像素取平均值為2,則經(jīng)過均值濾波處理過,中心點(diǎn)的像素為2

      Image

      (2)中值濾波:Median

             根據(jù)設(shè)定的尺寸,將區(qū)域內(nèi)的像素進(jìn)行排序,中心點(diǎn)的像素值由過濾尺寸內(nèi)的位于中間的像素值取代

             中值濾波對于去除小的噪點(diǎn)或

      者脈沖噪聲效果非常好

             中值濾波會(huì)改變圖像的結(jié)構(gòu),

      圖像的強(qiáng)度被改變

      Image

      (3)高斯濾波:Gaussian   Gaussian5X5  GaussianWXH

      高斯濾波就是對整幅圖像進(jìn)行加權(quán)平均的過程,每一個(gè)像素點(diǎn)的值,都由其本身和鄰域內(nèi)的其他像素值經(jīng)過加權(quán)平均后得到,模糊了圖像的細(xì)節(jié)。常用于出去噪點(diǎn),平滑邊緣。

      高斯濾波的具體操作是:用一個(gè)模板(或稱卷積、掩模)掃描圖像中的每一個(gè)像素,用模板確定的鄰域內(nèi)像素的加權(quán)平均灰度值去替代模板中心像素點(diǎn)的值。

      Gaussian:

      使用一個(gè)3X3大小,濾波器系數(shù)是一個(gè)標(biāo)準(zhǔn)差為0.85的二維高斯分布,可多次執(zhí)行

      Gaussian5X5:

      使用一個(gè)5X5大小,濾波器系數(shù)是一個(gè)標(biāo)準(zhǔn)差為1的二維高斯分布,可多次執(zhí)行,但是增加執(zhí)行次數(shù)會(huì)增大標(biāo)準(zhǔn)差的值,近似于重復(fù)次數(shù)的平方根

      注意:每次重復(fù)使用之后,都會(huì)圖像的邊界留出2個(gè)像素保持像素不變,如果對圖像邊界有影響,注意設(shè)定邊界的灰度值

      Image

      GaussianWXH:

      使用一個(gè)可以設(shè)定尺寸大小,確定權(quán)重的標(biāo)準(zhǔn)差也可以設(shè)定

      一個(gè)大的高斯過濾器可以用重復(fù)多次的小的高斯來實(shí)現(xiàn)

      例如重復(fù)執(zhí)行一個(gè)3x3或者5x5高斯,執(zhí)行次數(shù)N*1.4或者N*2.8為過濾的尺寸,例如3x3執(zhí)行9次,過濾的尺寸大約是9*1.4,與一個(gè)13X13高斯差不多

      Image

      標(biāo)準(zhǔn)差σ

      Sigma 越大,分布越均勻,周圍的權(quán)重越大,模糊程度越大

      Sigma越小,分布越集中,靠近中心的權(quán)重越大,模糊程度越小

      Image
      Image

                                             均值                                    高斯

      【銳化 強(qiáng)化處理】

      圖像的銳化處理,使圖像邊緣更清晰,細(xì)節(jié)增強(qiáng)

      Sherlock中用于銳化圖像的算法有各種卷積:1X3,1X5,1X7,3X3,5X1,5X5,7X1,Chatter Edge,Gradient,Highpass ,Sharpen

      ◆ 1X3,1X5,1X7,3X3,5X1,5X5,7X1

      分別是選擇不同尺寸的卷積核,每個(gè)位置的像素與相鄰像素通過設(shè)定的卷積核進(jìn)行卷積運(yùn)算。

      假如目標(biāo)像素點(diǎn)和它周邊的值(上下左右前后的臨點(diǎn),具體的比鄰范圍依賴于算子的大小,3*3的算子比鄰范圍為1,5*5的為2,以此類推)得有較大差異,那么就可以通過這個(gè)算子對原圖矩陣中的這個(gè)位置進(jìn)行卷積運(yùn)算,得出的值和該像素點(diǎn)原來的灰度值會(huì)產(chǎn)生顯著的差異。當(dāng)這種前后差異超過我們預(yù)設(shè)的范圍后,就將這個(gè)像素點(diǎn)標(biāo)記為255(白色),其余點(diǎn)標(biāo)記為0(黑色),這樣就得到了一黑色為背景,白色線條作為邊緣或形狀的邊緣提取效果圖。銳化算子:通過卷積運(yùn)算,可以增大矩陣每一個(gè)元素與周邊元素的方差,輕則起到銳化作用,重則成了邊緣提取。反之,則是去噪過程。

      Image
      Image

      上圖為算法的參數(shù)就是設(shè)置卷積核的參數(shù)

      ◆ Chatter Edge

      用于對噪音的或者模糊的邊緣的提取,過濾尺寸可以自定義。輸出的是二值化的或者修剪灰度比例的圖像。由于機(jī)械振動(dòng)引起的圖像跳動(dòng),如下圖:

      Image

      使用一個(gè)可以調(diào)整過濾內(nèi)核尺寸的差分過濾器,例如過濾尺寸為4的內(nèi)核為{-1,0,0,1}或者過濾尺寸為6的內(nèi)核為{-1,0,0,0,0,1}。這個(gè)過濾器在水平方向,垂直方向或者兩者都有的方向掃描輸入圖像,得到輸出圖像。

      應(yīng)用一個(gè)過濾尺寸為16的,“X”方向過濾的過濾器,增強(qiáng)圖中對比度比較低的邊緣。

      Image

      任何輸出低于邊緣閾值的值設(shè)定為0.等于或者大于邊緣閾值的值輸出為全白,如果keep gray above設(shè)為True,保留原來的值,

      Filter size (卷積內(nèi)核尺寸)可以設(shè)為2-255,由于卷積是線形操作,我們可以把這個(gè)差分過濾分成兩個(gè)矩形(取樣積分器)過濾器。一個(gè)過濾器相對于另一個(gè)過濾器偏移一個(gè)像素。一個(gè)矩形過濾器是低通濾波器,用來去除噪音。-1,….,1這些是用來增強(qiáng)邊緣的。

      Filter direction 設(shè)定過濾器的方向?!癤”表示過濾器是水平的,“Y”表示過濾器是垂直的,這兩個(gè)都會(huì)使過濾器掃描穿過輸入圖像,得到輸出圖像。如果是“either”,兩個(gè)方向的過濾都應(yīng)用。如果keep gray above設(shè)為false, X和Y的過濾結(jié)果通過邏輯OR合并處理。如果keep gray above設(shè)為true,輸出是X和Y方向的最大值。

      Transition type 設(shè)定邊緣對比度變化?!癉ark-to-light” 放大由暗到亮的邊緣,“l(fā)ight-to-dark”放大由亮到暗的邊緣?!癳ither”兩種對比度變化都被放大。

      下側(cè)的圖像顯示了一個(gè)非常緩慢和擴(kuò)散過渡的邊緣,右側(cè)的圖像顯示了應(yīng)用了一個(gè)過濾尺寸為10的chatter edges結(jié)果的圖像。

      Image

      Gradient 梯度銳化,線性ROI使用的

      根據(jù)由距離分開的像素,使用線性梯度增強(qiáng)邊緣

      output = abs[ (n - separation/2) - (n + separation/2) ]

      Highpass  Highpass5x5 高通濾波

      Sharpen

      在圖像增強(qiáng)過程中,通常利用各類圖像平滑算法消除噪聲。一般來說,圖像的能量主要集中在其低頻部分,噪聲所在的頻段主要在高頻段,同時(shí)圖像邊緣信息也主要集中在其高頻部分。這將導(dǎo)致原始圖像在平滑處理之后,圖像邊緣和圖像輪廓模糊的情況出現(xiàn)(平滑可以認(rèn)為是去除噪聲,這樣也就模糊了圖像的邊緣信息)。為了減少這類不利效果的影響,就需要利用圖像銳化技術(shù),使圖像的邊緣變得清晰。圖像銳化處理的目的是為了使圖像的邊緣、輪廓線以及圖像的細(xì)節(jié)變得清晰,經(jīng)過平滑的圖像變得模糊的根本原因是因?yàn)閳D像受到了平均或積分運(yùn)算,因此可以對其進(jìn)行逆運(yùn)算(如微分運(yùn)算)就可以使圖像變得清晰。微分運(yùn)算是求信號(hào)的變化率,由傅立葉變換的微分性質(zhì)可知,微分運(yùn)算具有較強(qiáng)高頻分量作用。從頻率域來考慮,圖像模糊的實(shí)質(zhì)是因?yàn)槠涓哳l分量被衰減,因此可以用高通濾波器來使圖像清晰。但要注意能夠進(jìn)行銳化處理的圖像必須有較高的性噪比,否則銳化后圖像性噪比反而更低,從而使得噪聲增加的比信號(hào)還要多,因此一般是先去除或減輕噪聲后再進(jìn)行銳化處理.

      【邊緣檢測】

      邊緣檢測的一般步驟:

      1.濾波:邊緣檢測算法主要是基于圖像強(qiáng)度的一階和二階導(dǎo)數(shù),但導(dǎo)數(shù)的計(jì)算對噪聲很敏感,因此必須使用濾波器來改善與噪聲有關(guān)的邊緣檢測器的性能。需要指出,大多數(shù)濾波器在降低噪聲的同時(shí)也導(dǎo)致了邊緣強(qiáng)度的損失,因此,增強(qiáng)邊緣和降低噪聲之間需要折中。

      2.增強(qiáng):增強(qiáng)邊緣的基礎(chǔ)是確定圖像各點(diǎn)鄰域強(qiáng)度的變化值。增強(qiáng)算法可以將鄰域(或局部)強(qiáng)度值有顯著變化的點(diǎn)突顯出來。邊緣增強(qiáng)一般是通過計(jì)算梯度幅值來完成的。

      3.檢測:在圖像中有許多點(diǎn)的梯度幅值比較大,而這些點(diǎn)在特定的應(yīng)用領(lǐng)域中并不都是邊緣,所以應(yīng)該用某種方法來確定哪些點(diǎn)是邊緣點(diǎn)。最簡單的邊緣檢測判據(jù)是梯度幅值閾值判據(jù)。

      4.定位:如果某一應(yīng)用場合要求確定邊緣位置,則邊緣的位置可在子像素分辨率上來估計(jì),邊緣的方位也可以被估計(jì)出來。在邊緣檢測算法中,前三個(gè)步驟用得十分普遍。這是因?yàn)榇蠖鄶?shù)場合下,僅僅需要邊緣檢測器指出邊緣出現(xiàn)在圖像某一像素點(diǎn)的附近,而沒有必要指出邊緣的精確位置或方向。

      Sherlock中用于邊緣檢測的算法有:Canny,Compass,F(xiàn)irst Diff, Kirsch,Laplace,LineEnhance,Prewitt,Roberts,Second Diff ,Sobel

      Sobel

      由于Sobel 算子結(jié)合了 Gaussian 平滑和微分,所以,其結(jié)果或多或少對噪聲有一定的魯棒性。

      主要的方法就是將圖像的每一個(gè)點(diǎn)都用sobel算子做卷積:一個(gè)用來檢測垂直邊緣,一個(gè)用來檢測水平邊緣,而最后兩個(gè)卷積的最大值將作為該點(diǎn)的輸出,即檢測后的灰度。

      Sobel算子:

      可以看到sobel算子包括兩組3*3的矩陣,左邊的表示垂直,右邊的表示水平。將它與圖像作平面卷積,即可分別得出垂直及水平的亮度差分近似值。

      Image
      Image

      Sobel算子根據(jù)像素點(diǎn)上下、左右鄰點(diǎn)灰度加權(quán)差,在邊緣處達(dá)到極值這一現(xiàn)象檢測邊緣。對噪聲具有平滑作用,提供較為精確的邊緣方向信息,邊緣定位精度不夠高。當(dāng)對精度要求不是很高時(shí),是一種較為常用的邊緣檢測方法。

      Canny

      三級(jí)操作檢測所有方向的邊緣.用一個(gè)SobelXY探測器查找邊緣梯度,垂直于邊緣輪廓的點(diǎn)被拒絕 ,最后應(yīng)用邊緣滯后閾值法。即一個(gè)高閾值和一個(gè)低閾值來區(qū)分邊緣像素。如果邊緣像素點(diǎn)梯度值大于高閾值,則被認(rèn)為是強(qiáng)邊緣點(diǎn)。如果邊緣梯度值小于高閾值,大于低閾值,則標(biāo)記為弱邊緣點(diǎn)。小于低閾值的點(diǎn)則被抑制掉

      強(qiáng)邊緣點(diǎn)可以認(rèn)為是真的邊緣。弱邊緣點(diǎn)則可能是真的邊緣,也可能是噪聲或顏色變化引起的。為得到精確的結(jié)果,后者引起的弱邊緣點(diǎn)應(yīng)該去掉。通常認(rèn)為真實(shí)邊緣引起的弱邊緣點(diǎn)和強(qiáng)邊緣點(diǎn)是連通的,而又噪聲引起的弱邊緣點(diǎn)則不會(huì)。所謂的滯后邊界跟蹤算法檢查一個(gè)弱邊緣點(diǎn)的8連通領(lǐng)域像素,只要有強(qiáng)邊緣點(diǎn)存在,那么這個(gè)弱邊緣點(diǎn)被認(rèn)為是真是邊緣保留下來。

      Image

      Canny 推薦的 高:低 閾值比在 2:1 到3:1之間。

      Canny檢測邊緣步驟舉例:

      1.消除噪聲。 使用高斯平滑濾波器卷積降噪。  例如下面的5x5高斯內(nèi)核

      Image

      2.計(jì)算梯度幅值和方向。 此處,按照Sobel濾波器的步驟:

      A.運(yùn)用一對卷積陣列 (分別作用于 x 和y方向):

      Image

      B.使用下列公式計(jì)算梯度幅值和方向:

      梯度方向近似到四個(gè)可能角度之一(一般 0, 45, 90, 135)

      Image

      3.非極大值 抑制。這一步排除非邊緣像素, 僅僅保留了一些細(xì)線條(候選邊緣)。

      4.滯后閾值: 最后一步,Canny 使用了滯后閾值,滯后閾值需要兩個(gè)閾值(高閾值和低閾值):

      A.如果某一像素位置的幅值超過 高 閾值, 該像素被保留為邊緣像素。

      B.如果某一像素位置的幅值小于 低 閾值, 該像素被排除。

      C.如果某一像素位置的幅值在兩個(gè)閾值之間,該像素僅僅在連接到一個(gè)高于 高 閾值的像素時(shí)被保留。

      Laplace,Laplace5x5,拉普拉斯邊緣探測器,分別使用3x3和5x5大小尺寸過濾,屬于高通過濾  二階微分

      拉普拉斯銳化圖像是根據(jù)圖像某個(gè)像素的周圍像素到此像素的突變程度有關(guān)。

      Image

      從兩種模板中就可以看出,如果一個(gè)黑色平面中有一個(gè)白點(diǎn),那么模板矩陣可以使這個(gè)白點(diǎn)更亮。由于圖像邊緣就是灰度發(fā)生跳變的區(qū)域,所以拉普拉斯模板對邊緣檢測很有用。

      一個(gè)函數(shù)的一階微分描述了函數(shù)圖像是朝哪里變化的,即增長或者降低;而二階微分描述的則是圖像變化的速度,急劇增長下降還是平緩的增長下降。那么據(jù)此我們可以猜測出依據(jù)二階微分能夠找到圖像的色素的過渡程度,例如白色到黑色的過渡就是比較急劇的。     

      或者說:當(dāng)鄰域中心像素灰度低于它所在的領(lǐng)域內(nèi)其它像素的平均灰度時(shí),此中心像素的灰度應(yīng)被進(jìn)一步降低,當(dāng)鄰域中心像素灰度高于它所在的鄰域內(nèi)其它像素的平均灰度時(shí),此中心像素的灰度應(yīng)被進(jìn)一步提高,以此實(shí)現(xiàn)圖像的銳化處理。

      Compass

      方向性的邊緣過濾器,增強(qiáng)與選定方向垂直的邊緣。平行于方向的邊緣設(shè)為0

      執(zhí)行一階微分過濾

      Image

      First Diff X  快速強(qiáng)化垂直方向的邊緣

            該點(diǎn)的像由其本身與其右側(cè)像素的差的絕對值決定

      First Diff Y  快速強(qiáng)化垂直方向的邊緣

            該點(diǎn)的像由其本身與其下方像素的差的絕對值決定

      First Diff XY快速強(qiáng)化任意方向的邊緣

             該點(diǎn)的像由X和Y方向的差值的和決定

      Second Diff X, Second Diff Y, Second Diff XY,

      與上面的算法相同,只是像素由左右(或者上下)兩側(cè)像素分別與中心點(diǎn)像素差的和決定, output = abs(west - 2*center + east),output = abs(north - 2*center + south)

        output = abs(west - 2*center + east) + abs(north - 2*center + south)

      Kirsch,根據(jù)選擇的方向,使用3x3卷積增強(qiáng)由暗到亮的變化

      LineEnhance,有方向性邊緣探測器,垂直于指定方向的邊緣或者線條會(huì)被強(qiáng)化

            使用二階微分查找圖像的變化梯度,屬于邊緣的部分灰度值由其中最大的灰度值替代,不屬于邊緣的部分將設(shè)為0

      PrewittX,PrewittY,PrewittXY,分別是使用3x3大小的過濾器,增強(qiáng)水平,垂直,任意方向的邊緣。PrewittX和PrewittY分別是保留水平方向和垂直方向?yàn)檎虻倪吘墸?fù)向的將為0,對噪聲不敏感

      Roberts,邊緣算子采用的是對角方向相鄰的兩個(gè)像素之差,從圖像處理的實(shí)際效果來看,邊緣定位準(zhǔn),對噪聲敏感。是一種利用局部查分算子尋找邊緣的算子

      Image
      Image
      下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多