溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Matlab圖像處理的公路裂縫案例檢測分析

發(fā)布時(shí)間:2022-02-23 13:55:53 來源:億速云 閱讀:146 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Matlab圖像處理的公路裂縫案例檢測分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Matlab圖像處理的公路裂縫案例檢測分析”吧!

    一、簡介

    1 案例背景

    隨著國家對公路建設(shè)的大力投入,我國的公路通車總里程己經(jīng)位居世界前列,這樣進(jìn)一步促進(jìn)了我國經(jīng)濟(jì)建設(shè)的發(fā)展。隨著公路的大量投運(yùn),公路日常養(yǎng)護(hù)和管理已經(jīng)成為制約公路運(yùn)營水平提高的瓶頸,特別是路面狀態(tài)采集、檢測維護(hù)等工作更是對傳統(tǒng)的公路運(yùn)維模式提出了挑戰(zhàn)。路面裂縫是公路日常養(yǎng)護(hù)管理中最常見的路面損壞,也是影響公路狀態(tài)評估和進(jìn)行必要的公路維修的重要因素!。一般而言,如果路面裂縫能夠在被惡化成坑槽之前得到及時(shí)修補(bǔ),則可以大大節(jié)約公路的養(yǎng)護(hù)成本。傳統(tǒng)的公路裂縫檢測主要是人工檢測,需要配置一定規(guī)模的人力、設(shè)備等資源來進(jìn)行定期巡檢。但是,面對日益增長的公路建設(shè)需求,人工檢測具有運(yùn)營效率低、主觀性影響大、危險(xiǎn)性較高等不足,已無法滿足公路破損快速檢測的要求。

    隨著計(jì)算機(jī)硬件設(shè)備和數(shù)字圖像處理技術(shù)的發(fā)展,基于視覺的目標(biāo)定位及檢測技術(shù)也取得了不斷的進(jìn)步,由于其具有定位準(zhǔn)確、檢測快速、自動化操作、易于安裝部署等特點(diǎn),已經(jīng)廣泛應(yīng)用于工業(yè)自動化檢測過程,特別是在目標(biāo)表面質(zhì)量檢測、目標(biāo)物測量等領(lǐng)域的應(yīng)用。因此,基于數(shù)字圖像的路面裂縫檢測技術(shù)可以提供一個安全、高效、成本低廉的道路狀態(tài)監(jiān)控服務(wù),已有多種圖像處理方法應(yīng)用于路面裂縫檢測并在一定程度上取得了實(shí)際應(yīng)用。

    2 理論基礎(chǔ)

    路面裂縫檢測從視覺上來看是典型的線狀目標(biāo)檢測,因此路面裂縫圖像的增強(qiáng)與定位屬于線狀目標(biāo)檢測的研究領(lǐng)域,路面裂縫與一般線狀目標(biāo)相比,具有其自身的特點(diǎn):目標(biāo)寬度相對較小、圖像對比度較低、具有自然間斷、具有分叉和雜點(diǎn)等,并且路面裂縫只是在視覺總體上呈現(xiàn)出線狀特征.傳統(tǒng)的裂縫自動檢測算法,如基于閾值分割、邊緣檢測、小波變換等算法,往往都假設(shè)路面裂縫在整幅圖像中具有較高的對比度和較好的連續(xù)性,但這種假設(shè)在實(shí)際的工程項(xiàng)目中往往不成立。由于受拍攝天氣、路面損耗、裂縫退化等因素的影響,有一定比例的裂縫相對于路面背景具有極低的對比度,這也會引起傳統(tǒng)裂縫檢測算法的失效,因此需要在裂縫圖像處理前加入一定的預(yù)處理步驟。圖像預(yù)處理一般是應(yīng)用于圖像識別、圖像表示等領(lǐng)域的一種前期處理。在圖像的采集和傳輸過程中,往往會因?yàn)槟承┰驅(qū)е聢D像質(zhì)量降低。

    例如,從視覺主觀上觀察圖像中的物體,可能會發(fā)覺其輪廓位置過于鮮艷而顯得突兀:從被檢測目標(biāo)物的大小和形狀來看,圖像特征比較模糊、難以定位;從圖像對比度的角度來看,可能會受到某些噪聲的影響;從圖像整體來看,可能會發(fā)生某種失真、變形等,因此,待處理圖像在視覺直觀性和處理可行性等方面可能存在諸多干擾,我們不妨將其統(tǒng)稱為圖像質(zhì)量問題。圖像預(yù)處理正是用于圖像質(zhì)量的改善處理,通過一定的計(jì)算步驟進(jìn)行適當(dāng)?shù)淖儞Q進(jìn)面突出圖像中某些感興趣的信息,消除或降低干擾信息,如圖像對比度增強(qiáng)、圖像去噪或邊緣提取等處理印,一般情況下,由于裂縫圖像的采集需要涉及室外作業(yè),所得圖片難免會存在一定的噪聲干擾、畸變等各種問題,直接進(jìn)行裂縫目標(biāo)的檢測和提取往往會遇到困難。因此,本案例首先將裂縫圖像進(jìn)行預(yù)處理,改善圖像質(zhì)量,進(jìn)而提高實(shí)驗(yàn)的優(yōu)化效果。圖像預(yù)處理的基本方法有圖像灰度變換、頻域變換、直方圖變換、圖像去噪、圖像銳化、圖像色彩變換等。本案例將選擇其中的部分方法來進(jìn)行裂縫圖像的預(yù)處理操作。

    2.1 圖像灰度化

    自然界中絕大部分的可見光譜均能通過紅®、綠(G)、藍(lán)(B)三色光按不同比例和強(qiáng)度進(jìn)行混合而得到, 我們將其稱為RGB色彩模式。該模式以RGB模型為基礎(chǔ), 對圖像的每個像素值的RGB分量均分配一個Uint 8類型(0~255) 的強(qiáng)度值。例如, 純紅色的R值為255, G值為0, B值為0; 品紅色的R值為255, G值為0, B值為255。RGB圖像的紅、綠、藍(lán)分量各占8位,因此是24位圖像,并且不同亮度的基色混合后,會產(chǎn)生出256x256x 256-16777216種顏色。RGB模型圖形化表示如圖所示。

    Matlab圖像處理的公路裂縫案例檢測分析

    假設(shè)F(i, j) 為RGB模型中的某像素, 若其3種基色的亮度值相等, 則會產(chǎn)生灰度顏色,將該R=G=B的值稱為灰度值(或者稱為強(qiáng)度值、亮度值)。因此,灰度圖像就是包含多個量化灰度級的圖像。假設(shè)該灰度級用Uint 8類型數(shù)值表示, 則圖像的灰度級就是256(即2°=256)。本案例所選擇的灰度圖像灰度級均為256,其像素灰度值為0~255的某個值,當(dāng)亮度值都是255時(shí)產(chǎn)生純白色,當(dāng)亮度值都是0時(shí)產(chǎn)生純黑色,并且亮度從0到255呈現(xiàn)逐漸增加的趨勢。RGB圖像包含了由紅、綠、藍(lán)三種分量組成的大量的色彩信息, 灰度圖像只有亮度信息而沒有色彩信息。針對路面裂縫圖像的檢測要求,一般需要去除不必要的色彩信息, 將所采集到的RGB圖像轉(zhuǎn)換為灰度圖像。RGB圖像的灰度化方法有以下幾種。

    (1)分量值

    選取像素F(i.j)的R、G、B分量中的某個值作為該像素的灰度值,即

    Matlab圖像處理的公路裂縫案例檢測分析

    式中,F(xiàn)g(i,j)為轉(zhuǎn)換后的灰度圖像在(i.j)處的灰度值。

    (2)最大值

    選取像素F(i,j)的R、G、B分量中的最大值作為該像素的灰度值,即

    Matlab圖像處理的公路裂縫案例檢測分析

    (3)平均值

    選取像素F(i,j)的R、G、B分量的亮度均值作為該像素的灰度值,即

    Matlab圖像處理的公路裂縫案例檢測分析

    (4)加權(quán)平均值

    選取像素F(i,j)的R、G、B分量的亮度加權(quán)均值作為該像素的灰度值,權(quán)值的選取一般是根據(jù)分量的重要性等指標(biāo),將3個分量以加權(quán)平均的方式進(jìn)行計(jì)算得到灰度值。人眼在視覺主觀上一般對綠色分量敏感度較高, 對藍(lán)色分量敏感度較低, 因此對RGB三分量進(jìn)行加權(quán)平均能得到較合理的灰度圖像,常用的計(jì)算公式如下:

    F.(i.j)=0.299R(i,j)+0.587G(i,j)+0.114*B(i,j)

    采用加權(quán)平均計(jì)算灰度圖像的方式對裂縫圖像進(jìn)行灰度化,所得結(jié)果如圖所示。

    Matlab圖像處理的公路裂縫案例檢測分析

    2.2 圖像濾波

    裂縫圖像在采集或傳輸?shù)倪^程中往往會受到成像設(shè)備與傳輸介質(zhì)等因素的干擾而產(chǎn)生噪聲,因此待處理的裂縫圖像可能會存在邊緣模糊、黑白雜點(diǎn)等問題,這在一定程度上會對裂縫目標(biāo)的檢測和識別產(chǎn)生影響,干擾實(shí)驗(yàn)結(jié)果的判斷,因此需要對裂縫圖像進(jìn)行濾波去噪。本節(jié)將從均值濾波和中值濾波兩方面來進(jìn)行圖像去噪的處理。均值濾波也稱為鄰域平均濾波,該方法假設(shè)待處理圖像是由許多灰度值為常量的小區(qū)域組成的,并且相鄰區(qū)域間存在較高的空間相關(guān)性,而噪聲則顯得相對獨(dú)立。因此,通過將單個像素及其指定鄰域內(nèi)的所有像素按某種規(guī)則計(jì)算平均灰度值,再作為新圖像中的對應(yīng)像素值,可達(dá)到濾波去噪的目的,這一過程被稱為均值濾波。鄰域平均法屬于非加權(quán)鄰域平均范疇,是最常用的均值濾波操作。

    圖像邊緣一般集中了圖像的細(xì)節(jié)和高頻信息,如果通過鄰域平均法進(jìn)行去噪,則往往會引起圖像邊緣的模糊,這也會對裂縫目標(biāo)的檢測帶來不利影響。中值濾波是常用的非線性濾波方法,其主要思想是對像素鄰域向量化取中值來進(jìn)行濾波,具有運(yùn)算簡單、高效,能有效去除脈沖噪聲的特點(diǎn),在去噪的同時(shí)它也可以有效地保護(hù)圖像的邊緣細(xì)節(jié)信息。因此,本案例將采用中值濾波的方法來對裂縫圖像進(jìn)行去噪處理,其處理步驟如下。

    (1)定位

    在圖像中移動模板,將模板中心與圖像中的某個像素重合。

    (2)計(jì)算

    選擇模板對應(yīng)于圖像的各像素灰度值,進(jìn)行向量化,并將其進(jìn)行排序。

    (3)賦值

    選擇序列的中間值,作為輸出賦予模板中心對應(yīng)的像素。

    如圖2所示,根據(jù)中值濾波器形狀和維數(shù)的不同,其模板有線形、十字形、方形、菱形等,不同形狀的窗口也會產(chǎn)生不同的濾波效果。在對裂縫圖像進(jìn)行中值濾波處理時(shí),其關(guān)鍵在于選擇合適的模板形狀和模板大小。

    Matlab圖像處理的公路裂縫案例檢測分析

    2.3 圖像增強(qiáng)

    路面裂縫圖像的采集一般在室外進(jìn)行,容易受到大氣、光照、機(jī)械振動等因素的影響,采集到的裂縫圖像可能存在整體偏暗或偏亮等問題,進(jìn)而產(chǎn)生對比度較低的圖像。此類圖像的特點(diǎn)是灰度分布范圍較小,集中在少量的灰度區(qū)間內(nèi),這也給后續(xù)的裂縫檢測和識別帶來了不利影響,因此需要對此類圖像進(jìn)行增強(qiáng)處理來提高對比度。直方圖作為圖像灰度級分布的統(tǒng)計(jì)表,能在一定程度上反映圖像的對比度詳情。圖像的灰度直方圖表示該圖像所屬灰度類型中不同灰度級像素出現(xiàn)的相對頻率,并且直方圖的橫坐標(biāo)表示灰度,縱坐標(biāo)表示灰度出現(xiàn)的次數(shù)或概率。直方圖均衡化利用灰度直方圖進(jìn)行圖像對比度的調(diào)整,以達(dá)到增強(qiáng)圖像視覺效果的目標(biāo)。直方圖均衡化的基本思想是通過某種變換,將原始圖像的灰度直方圖從集中于某個較小的灰度區(qū)間變成在更大灰度區(qū)間內(nèi)均勻分布的形式,得到灰度級差式分布,從而達(dá)到增強(qiáng)圖像整體對比度的目標(biāo)。裂縫圖像區(qū)域通常屬于顏色較暗的灰度區(qū)間,背景區(qū)域則屬于相對較亮的灰度區(qū)間。但在采集裂縫圖像的過程中,往往會由于天氣干擾、曝光不足等原因而造成圖像整體偏暗,使裂縫區(qū)域與背景區(qū)域亮度特征相近而不易辨別,如圖所示。從原始裂縫圖像的灰度直方圖可以看出,其灰度值分布主要集中在0100的低層次灰度區(qū)間。因此,為了提高裂縫與背景的對比度,需要將原圖像的灰度值范圍進(jìn)行擴(kuò)大,形成較為明顯的灰度級差,進(jìn)而增加裂縫圖像的對比度。經(jīng)過灰度直方圖均衡化處理,裂縫圖像的灰度范圍擴(kuò)到了0255,得到對比度增強(qiáng)后的裂縫圖像,更加突出了裂縫與背景的差異程度。

    2.4 圖像二值化

    灰度圖像二值化是指通過約定一個灰度閾值來分割目標(biāo)與背景,在閥值之內(nèi)的像素于目標(biāo)即記為1,其他則屬于背景即記為0。在裂縫目標(biāo)檢測與識別的過程中,可以采用裂縫邊緣、面積等特征來進(jìn)行判別,也可以采用裂縫目標(biāo)與周圍背景的灰度差異值作為個判別依據(jù),這就要求引入閾值來進(jìn)行圖像二值化處理。假設(shè)一幅灰度裂縫圖像用f(x,y)表示,其中,(x,y)表示圖像中像素的位置坐標(biāo),T為閾值,則閾值分割后的二值圖像b(x,y)滿足:

    Matlab圖像處理的公路裂縫案例檢測分析

    裂縫目標(biāo)或背景區(qū)域的像素灰度通常是高度相關(guān)的,但裂縫目標(biāo)與背景區(qū)域之間的灰度值則通常存在較大差異,一般包含明顯的邊緣等特征。因此,為了從更大程度上分割裂縫目標(biāo)與背景,則需要對其進(jìn)行灰度閾值分割選取合適的閾值。閾值計(jì)算方法根據(jù)其計(jì)算過程可以分為兩種:全局閾值和基本自適應(yīng)閾值,如下所述。

    (1)全局閾值是最常見的閾值計(jì)算方法,它一般以圖像的直方圖或灰度空間分布為基礎(chǔ)來確定一個閾值,進(jìn)而實(shí)現(xiàn)灰度圖像的二值化。特別是當(dāng)圖像的灰度直方圖分布呈雙峰時(shí),全局閾值法可以明顯地將目標(biāo)和背景分量,得到較為理想的圖像分割效果。但裂縫圖像一般具有光照不均勻、噪聲干擾等特點(diǎn),其灰度直方圖往往不會呈雙峰分布,因此全局閾值分割方法效果較差。

    (2)基本自適應(yīng)閥值是一種比較基礎(chǔ)的圖像自適應(yīng)分割方法,它一般以圖像像素自身及其鄰域灰度變化的特征為基礎(chǔ)進(jìn)行閾值分割,進(jìn)而實(shí)現(xiàn)灰度圖像的二值化。該方法充分考慮了每個像素鄰域的特征,所以一般能更好地突出目標(biāo)和背景的邊界。

    裂縫圖像的背景在多數(shù)情況下比較固定,如路面、橋面、墻體等。但由于圖像采集一般在室外進(jìn)行,會受到拍攝條件、路面雜物等因素的影響,所以圖像容易出現(xiàn)退化或噪聲干擾。本案例通過分析裂縫圖像目標(biāo)和背景的特點(diǎn),采用自定義和迭代法優(yōu)化相結(jié)合的方法。

    3 程序?qū)崿F(xiàn)

    根據(jù)裂縫圖像的特點(diǎn),在對其進(jìn)行目標(biāo)檢測和識別之前,需要進(jìn)行圖像預(yù)處理,主要包括:直方圖均衡化增強(qiáng)、中值濾波去噪、對比度增強(qiáng)、二值化處理、二值圖像濾波等步驟。其中,在二值化過程中對閾值的確定選擇自定義閾值法與迭代自適應(yīng)法相結(jié)合的方式來計(jì)算;二值圖像濾波主要是連通區(qū)域的面積濾波,通過去除小面積的雜點(diǎn)噪聲來進(jìn)行濾波去噪。裂縫圖像經(jīng)過預(yù)處理可以得到突出裂縫目標(biāo)的二值圖像,然后可以根據(jù)形態(tài)學(xué)區(qū)域特征來獲取裂縫目標(biāo)并進(jìn)行檢測識別。對于裂縫的形狀識別可以通過計(jì)算圖像中裂縫目標(biāo)的外接矩形的長寬比來確定。

    二、部分源代碼

        clc;
        close all;
        clear all;
        %% 讀取圖片
        I=imread('1.jpg');
        %% 判斷圖像格式及調(diào)整圖像尺寸、直方圖均衡化
        if(ndims(I)==3)%ndims是求數(shù)組維數(shù)的函數(shù)
            img=rgb2gray(I);
            img=double(img);%轉(zhuǎn)換為雙精度
        else
            img=double(I);%轉(zhuǎn)換為雙精度
        end
        if(max(size(img))>1024)
            scale=1/8;  %圖像調(diào)整為原圖尺寸的1/8
            I1 = imresize(img, scale);%縮放處理
        else
            I1=img;
        end    
        [m,n]=size(I1);
        f_size=max(m,n);
        %% 去噪、銳化
        [Slog f2]=frequence_get(I1,f_size);
        %% 陷波濾波 去除周期性噪聲 
        % % 用陷波濾波模板修改原圖傅里葉頻譜,濾除高頻周期噪聲
        % % 構(gòu)造陷波濾波器模板
        Mask=Muban(Slog,f_size);
        vex=find(Mask==0);
        I_spec=I1;
        I_spec=im2uint8(mat2gray(I_spec));%矩陣歸一化,把圖像數(shù)據(jù)類型轉(zhuǎn)換為無符號的8位整形
        I_spec(f_size,f_size)=0;
        Spectrum=fft2(uint8(I_spec));%2維離散傅里葉變換
        Spec=abs(Spectrum);   %幅度譜
        phi=angle(Spectrum);  %相位譜
        Spec=fftshift(Spec);
        Spec1=Spec;
        Spec1(vex)=0;
        Spec2=ifftshift(Spec1);
        CJ=Spec2.*exp(i*phi);  %重建傅里葉頻譜
        Re_fft2=ifft2(CJ);     %反傅里葉變換,還原圖像
        Restore=uint8(real(Re_fft2));
        %% 對還原圖像維納濾波
    % %    維納濾波     
        K=wiener2(Restore(1:m,1:n),[3 3]);%維納濾波(wiener filtering) 一種基于最小均方誤差準(zhǔn)則、對平穩(wěn)過程的最優(yōu)估計(jì)器。這種濾波器的輸出與期望輸出之間的均方誤差為最小,因此,它是一個最佳濾波系統(tǒng)。它可用于提取被平穩(wěn)噪聲所污染的信號。 
        [result,threshold1]=edge(K,'sobel',0.07);% 若原圖沒有進(jìn)行均衡化,閾值用0.07,sobel算子邊緣檢測裂縫       
        [BW,thresh2]=bwfilter(K,result);%二值化濾波器去干擾
        figure,
        subplot(151);imshow(I1,[]);title('原始圖像'); 
        subplot(152);imshow(Restore(1:m,1:n),[]);title('反傅里葉變換圖像'); 
        subplot(153);imshow(K,[]);title('維納濾波降噪');
        subplot(154);imshow(result,[]);title('裂紋檢測'); 
        subplot(155);imshow(BW);title('二值化濾波器去干擾');
    % %     形態(tài)學(xué)操作
        Se0=strel('line',3,0);%創(chuàng)建一個相對于鄰域中心對稱的線性結(jié)構(gòu)元素
        Se90=strel('line',3,90);
        bw_dialte=imdilate(BW,[Se0 Se90]);%膨脹
        bw_fill=imfill(bw_dialte,'holes');%填充  
        bw1=bwmorph(bw_fill,'thin',Inf);%細(xì)化  
        bw2=bwmorph(bw1,'spur',3);  %去毛刺     
        bw3=bwareaopen(bw2,5);%移除小目標(biāo)  
        figure,
        subplot(151);imshow(bw_dialte);title('膨脹');
        subplot(152);imshow(bw_fill);title('填充');
        subplot(153);imshow(bw1);title('細(xì)化');
        subplot(154);imshow(bw2);title('去毛刺');
        subplot(155);imshow(bw3);title('移除小目標(biāo)');

    三、運(yùn)行結(jié)果

    Matlab圖像處理的公路裂縫案例檢測分析

    Matlab圖像處理的公路裂縫案例檢測分析

    到此,相信大家對“Matlab圖像處理的公路裂縫案例檢測分析”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI