本發明屬于太陽能電池技術領域,更具體地,涉及一種基于cis圖像采集的太陽能電池片缺陷檢測系統和方法。
背景技術:
太陽能作為一種免費、清潔、安全、豐富的可再生能源越來越受到人們的青睞。而太陽能電池作為將太陽輻射進行光熱電轉化或者光電直接轉化的器件,在制造及檢測上的研究日益熱門。
太陽能電池片作為太陽能電池的核心器件,其制造工藝的質量直接影響太陽電池的發電效率、短路電流、斷路電壓、使用壽命等。制造工藝過程中需要經歷切割與制絨兩部分,再經過化學腐蝕與清洗出去表面損傷層。因為太陽能電池片易碎,在生產加工過程(表面腐蝕、制絨、擴散、表面成膜、網印、鈍化、燒結等)中,可能由于某些工藝缺陷或者生產環境的影響造成太陽能電池片表面的缺陷。因此研究出實時性好,識別效率高,能識別多種缺陷的太陽能電池片檢測系統和方法是很有必要的。
技術實現要素:
針對現有技術的缺陷,本發明的目的在于提供一種基于cis圖像采集的太陽能電池片缺陷檢測系統,旨在解決太陽能電池片缺角、崩邊、孔洞、污物的檢測問題。
本發明提供了一種基于cis圖像采集單元的太陽能電池片缺陷檢測系統,包括:傳送裝置,圖像采集裝置和數據處理模塊;圖像采集裝置位于傳送裝置的正上方,圖像采集裝置與數據處理模塊連接;太陽能電池片通過所述傳送裝置進行運輸,當太陽能電池片經過所述圖像采集裝置下方時,圖像采集裝置對太陽能電池片進行圖像采集并傳輸給數據處理模塊,所述數據處理模塊對采集的圖像進行缺陷分析檢測。
更進一步地,圖像采集裝置包括:cis圖像采集單元和兩個條形光源,cis圖像采集單元設置在傳送裝置的正上方,兩側各安裝有一個條形光源,用于使得被采集的太陽能電池片的圖像亮度均勻。
更進一步地,cis圖像采集單元包括:fpga模塊,分別與fpga模塊連接的cis圖像采集模塊、模數轉換模塊、存儲模塊、采集速度匹配模塊和圖像輸出模塊,以及用于提供工作電源的電源模塊;所述cis圖像采集模塊用于對太陽能電池片進行圖像采集并輸出一系列模擬數據;所述模數轉換模塊用于將模擬數據轉化為數字信號;所述fpga模塊用于實現整個系統的時序控制;所述采集速度匹配模塊用于根據傳送裝置的傳送速度調整cis圖像模塊采集圖像速率;所述存儲模塊用于緩存采集到的數字圖像數據;所述圖像輸出模塊用于將采集到的太陽能電池片圖像發送給所述數據處理模塊。
本發明還提供了一種基于cis圖像采集單元的太陽能電池片缺陷檢測方法,包括下述步驟:
(1)通過圖像采集裝置對太陽能電池片進行圖像采集;
(2)根據采集的圖像對太陽能電池片進行校正獲得校正后的太陽能電池片圖像;
(3)對所述太陽能電池片圖像進行缺角處理或崩邊處理后獲得缺陷檢測結果。
更進一步地,在步驟(2)后還包括:(2.0)對所述太陽能電池片圖像進行去除電極和柵線的處理后獲得標準化的太陽能電池片灰度圖。其中,步驟(2.0)可以在步驟(2)之后步驟(3)之前,也可以在步驟(3)之后。
更進一步地,所述去除電極和柵線的處理具體為:
(2.01)對太陽能電池片校正后圖像的圖像進行灰度化處理后獲得太陽能電池片灰度圖;
(2.02)在灰度圖上,利用形態學開運算去除水平柵線,獲得去除水平柵線后的太陽能電池片灰度圖;
(2.03)在去除水平柵線后的太陽能電池片灰度圖上,利用最大類間方差法對去除水平柵線后的太陽能電池片進行二值化處理,利用水平掃描定位電極并去除電極,獲得去除水平柵線和電極的太陽能電池片灰度圖;
(2.04)在去除水平柵線和電極的太陽能電池片灰度圖上,利用水平掃描定位豎直柵線和邊界線并去除,獲得標準化的太陽能電池片灰度圖。
更進一步地,在步驟(2.0)后還包括:(2.1)對標準化的太陽能電池片灰度圖像進行孔洞處理或污物處理后獲得缺陷檢測結果。
更進一步地,所述孔洞處理具體為:
(2.11)在標準化的太陽能電池片灰度圖上,利用找輪廓的方法尋找孔洞與污物的位置。
(2.12)利用(2.11)找到的位置,計算位置區域的灰度值均值,與設定閾值進行比較,判斷缺陷為孔洞還是污物,并分別統計兩者的個數。
更進一步地,所述污物處理具體為:
(2.11)在標準化的太陽能電池片灰度圖上,利用找輪廓的方法尋找孔洞與污物的位置。
(2.12)利用(2.11)找到的位置,計算位置區域的灰度值均值,與設定閾值進行比較,判斷缺陷為孔洞還是污物,并分別統計兩者的個數。
更進一步地,步驟(2)具體為:
s21對采集的太陽能電池片圖像進行灰度化處理后獲得太陽能電池片灰度圖;
s22在灰度圖上通過搜索獲得表示太陽能電池片的四條邊界的像素點;其中,通過按照上邊界、下邊界、左邊界和右邊界的順序進行搜索;
s23對四條邊界的像素點進行篩選并獲得太陽能電池片的四條校正邊界;
s24計算出四條校正邊界之間的交點,即太陽能電池片的四個角點;
s25根據太陽能電池片的四個角點與設定的四個角點獲得透視變換矩陣,并通過所述透視變換矩陣對采集的圖像進行透視變換后獲得太陽能電池片校正后的圖像。
更進一步地,步驟(3)中所述缺角處理具體為:
(3.11)對太陽能電池片校正后圖像的圖像進行灰度化處理后獲得太陽能電池片灰度圖;
(3.12)在灰度圖上,利用三種步長搜索方式從水平向右和垂直向下檢測太陽能電池片左上角是否缺角;
(3.13)在灰度圖上,利用三種步長搜索方式從水平向左和垂直向下檢測太陽能電池片右上角是否缺角;
(3.14)在灰度圖上,利用三種步長搜索方式從水平向右和垂直向上檢測太陽能電池片左下角是否缺角;
(3.15)在灰度圖上,利用三種步長搜索方式從水平向左和垂直向上檢測太陽能電池片右下角是否缺角。
更進一步地,步驟(3)中所述崩邊處理具體為:
(3.11)對太陽能電池片校正后圖像的圖像進行灰度化處理后獲得太陽能電池片灰度圖;
(3.12)在灰度圖上,對左右邊界進行投影,分別記錄崩邊區域像素點的個數;
(3.13)在灰度圖上,對上下邊界進行投影,分別記錄崩邊區域像素點的個數;
(3.14)比較獲得崩邊區域像素點的個數與設定閾值,判斷是否為崩邊,并且統計崩邊個數;
(3.15)考慮到太陽能電池片四個角是缺角的情況,確定四條邊的連續邊界的起點和終點后,重復步驟(3.12)-(3.14)。
通過本發明所構思的以上技術方案,與現有技術相比,由于利用cis圖像采集系統進行采圖,能夠提高圖像采集的速率,增強實時性,并且降低成本的有益效果;由于本發明提供的缺陷檢測方法,能夠滿足多種缺陷的檢測,通用性較高,并且在保證檢測速率的情況下,檢測的準確率較高,很好的滿足了現在工業檢測領域的需求。
附圖說明
圖1為本發明基于cis圖像采集的太陽能電池片缺陷檢測系統的示意圖;
圖2為本發明基于cis圖像采集的太陽能電池片缺陷檢測方法的控制流程示意圖;
圖3為本發明中cis圖像采集單元的原理框圖;
圖4為本發明中太陽能電池片的校正方法流程示意圖;
圖5為本發明中太陽能電池片缺角的檢測方法流程示意圖;
圖6為本發明中太陽能電池片崩邊的檢測方法流程示意圖;
圖7為本發明中太陽能電池片孔洞與污物的檢測方法流程示意圖;
圖8為本發明中3個像素點組成的檢測模板掃描示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
本發明涉及一種基于cis(contactimagesensor,接觸式圖像傳感器)圖像采集系統的太陽能電池片缺陷檢測系統和方法。如圖1所示,本發明提供的基于cis圖像采集單元的太陽能電池片缺陷檢測系統包括:傳送裝置1,圖像采集裝置2和數據處理模塊3;圖像采集裝置2位于傳送裝置1的正上方,同時圖像采集裝置2通過數據線與數據處理模塊3連接。太陽能電池片通過傳送裝置1進行運輸,當太陽能電池片經過圖像采集裝置2下方時,圖像采集裝置2對太陽能電池片進行圖像采集,然后將圖像傳輸給數據處理模塊3,數據處理模塊3對其進行缺陷分析檢測。
圖像采集裝置2包括cis圖像采集單元21和兩根均勻條形光源22;圖像采集裝置內部上方正中央安裝有cis圖像采集單元21,在裝置內部兩側各安裝有一根均勻條形光源。如圖2,圖像采集裝置21包括:cis圖像采集模塊、模數轉換模塊、fpga模塊(field-programmablegatearray,現場可編程門陣列)、存儲模塊、電源模塊、采集速度匹配模塊、圖像輸出模塊。系統工作時,cis圖像采集模塊對下方經過的太陽能電池片進行圖像采集并輸出一系列模擬數據,經過模數轉化器轉化為數字信號,fpga負責整個系統的時序控制,采集速度匹配模塊根據傳送裝置的傳送速度調整cis圖像模塊采集圖像速率,fpga將采集到的數字圖像數據緩存到存儲模塊中,然后通過圖像輸出模塊將采集到的太陽能電池片圖像發送到數據處理模塊,電源模塊為整個系統供電,需要外部5v供電。均勻條形光源是一種各發光點光照強度一樣的條形光源,目的在于使太陽能電池片圖像亮度均勻,避免因為圖像各部分亮度不一致,而影響之后的檢測結果。
本發明通過圖像采集裝置進行圖像采集,提高實時性且降低成本,本系統和方法檢測的太陽能電池片的缺陷包括:缺角、崩邊、孔洞、污物,檢測的缺陷種類多且保證了檢測效率。
在本發明提供的基于cis圖像采集單元的太陽能電池片缺陷檢測系統中,通過cis圖像采集單元的掃描,獲得太陽能電池片的彩色圖像,通過對彩色圖像進行灰度化處理。然后對灰度圖進行四條邊界搜索,確定邊界交點(角點),通過透視變化,獲得校正后的太陽能電池片的圖像。然后分別對太陽能電池片四個角進行掃描,判斷其是否缺角且統計缺角個數。然后分別對太陽能電池片四條邊進行掃描,判斷其是否崩邊且統計崩邊個數。然后通過形態學方法去除太陽能電池片的水平柵線、豎直柵線、電極、邊界線,最后通過找輪廓方法,尋找孔洞和污物,根據灰度值判斷孔洞與污物且分別統計個數。
本發明還提供了一種基于cis圖像采集單元的太陽能電池片缺陷檢測方法,具體步驟如下:
(1)通過圖像采集裝置對太陽能電池片進行圖像采集
圖像采集裝置是通過cis圖像采集單元進行圖像采集,cis圖像采集單元掃描一次能得到若干行圖像信息(每一次掃描的行數根據傳送裝備的速度和采集圖像的分辨率設定),從而得到了太陽能電池片的圖像。
(2)校正太陽能電池片
s21對采集的太陽能電池片圖像進行灰度化處理后獲得太陽能電池片灰度圖。
s22在灰度圖上通過搜索獲得表示太陽能電池片的四條邊界的像素點;其中,通過按照上邊界、下邊界、左邊界和右邊界的順序進行搜索。
s23對四條邊界的像素點進行篩選并獲得太陽能電池片的四條校正邊界;
s24計算出四條校正邊界之間的交點,即太陽能電池片的四個角點。
s25根據太陽能電池片的四個角點與設定的四個角點獲得透視變換矩陣,并通過所述透視變換矩陣對采集的圖像進行透視變換后獲得太陽能電池片校正后的圖像。
(3)檢測太陽能電池片缺角
s31對太陽能電池片校正后圖像的圖像進行灰度化處理后獲得太陽能電池片灰度圖。
s32在灰度圖上,利用三種步長搜索方式從水平向右和垂直向下檢測太陽能電池片左上角是否缺角。
s33在灰度圖上,利用三種步長搜索方式從水平向左和垂直向下檢測太陽能電池片右上角是否缺角。
s34在灰度圖上,利用三種步長搜索方式從水平向右和垂直向上檢測太陽能電池片左下角是否缺角。
s35在灰度圖上,利用三種步長搜索方式從水平向左和垂直向上檢測太陽能電池片右下角是否缺角。
(4)檢測太陽能電池片崩邊
s41對太陽能電池片校正后圖像的圖像進行灰度化處理后獲得太陽能電池片灰度圖。
s42在灰度圖上,對左右邊界進行投影,分別記錄崩邊區域像素點的個數。
s43在灰度圖上,對上下邊界進行投影,分別記錄崩邊區域像素點的個數。
s44比較獲得崩邊區域像素點的個數與設定閾值,判斷是否為崩邊,并且統計崩邊個數。
s45考慮到太陽能電池片四個角是缺角的情況,確定四條邊的連續邊界的起點和終點后,重復上述s42-s44步驟。
(5)檢測太陽能電池片孔洞與污物
s51對太陽能電池片校正后圖像的圖像進行灰度化處理后獲得太陽能電池片灰度圖。
s52在灰度圖上,利用形態學開運算去除水平柵線,獲得去除水平柵線后的太陽能電池片灰度圖。
s53在去除水平柵線后的太陽能電池片灰度圖上,利用最大類間方差法(ostu算法)對去除水平柵線后的太陽能電池片進行二值化處理,利用水平掃描定位電極并去除電極,獲得去除水平柵線和電極的太陽能電池片灰度圖。
s54在去除水平柵線和電極的太陽能電池片灰度圖上,利用水平掃描定位豎直柵線和邊界線并去除它們,獲得標準化的太陽能電池片灰度圖。
s55在標準化的太陽能電池片灰度圖上,利用找輪廓的方法尋找孔洞與污物的位置。
s56利用s55找到的位置,計算位置區域的灰度值均值,與設定閾值進行比較,判斷缺陷為孔洞還是污物,并分別統計兩者的個數。
本發明提供的基于cis圖像采集單元的太陽能電池片缺陷檢測系統和方法,至少能帶來以下有益效果:在本發明中,利用cis圖像采集單元進行圖像采集,提高了圖像采集的速率,增強了實時性,并且降低了成本。同時,本發明提供的缺陷檢測方法,能夠滿足多種缺陷的檢測,通用性較高,并且在保證檢測速率的情況下,檢測的準確率較高,很好的滿足了現在工業檢測領域的需求。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面結合附圖和實施例對本發明進行具體的描述。下面描述中的附圖僅僅是本發明的一些實施例。對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
如圖1所示,本發明提供一種基于cis圖像采集單元的太陽能電池片缺陷檢測系統。從圖中可以看出,本系統包括:傳送裝置1,圖像采集裝置2和數據處理模塊3。具體流程如下:太陽能電池片通過傳送裝置進行傳送,通過裝置箱下方時,cis圖像采集管對太陽能電池片進行圖像采集,同時通過usb3.0將圖像傳給數據處理模塊,為了之后的缺陷檢測。在圖像采集過程中,傳送裝置通過電纜給cis圖像采集單元實時傳輸當前傳送裝置的速度,以此來調節cis圖像采集管的采集頻率。
如圖2所示,本發明提供一種基于cis圖像采集單元的太陽能電池片缺陷檢測方法。從圖中可以看出,本發明包括六個過程:校正太陽能電池片、檢測太陽能電池片缺角、檢測太陽能電池片崩邊、去除太陽能電池片電極和柵線、檢測太陽能電池片孔洞與污物。
如圖4所示,校正太陽能電池片的具體步驟包括:
太陽能電池片在傳送裝置上是任意擺放的,導致cis圖像采集單元采集到的圖像中太陽能電池片的位置與方向也是任意的。為了之后更方便的處理圖像,所以需要將太陽能電池片在圖像中的區域截取出來,并且校正。
s21讀取太陽能電池片圖像,并對其進行灰度化處理。
s22在灰度圖上分別搜索查找太陽能電池片上、下、左、右四條邊界。
在搜索四條邊界時,搜索的方式分為三種方式:大步長搜索、小步長搜索、逐像素搜索。大步長搜索即為按指定較大行數進行搜索,通常指定較大行數為10的整數倍,比如:10行;小步長搜索即為按指定較小行數進行搜索,通常小步長行數為大步長的行數一半,比如:5行;逐像素搜索即為按1行數進行搜索。通過三種不同步長搜索方式查找邊界,既能提高搜索效率,同時也能保證搜索的準確性。
首先搜索上邊界,如果搜索的起始像素點的灰度值小于邊界灰度閾值(即為圖像灰度均值),就判斷起始像素點在太陽能電池片區域內,采用逐像素搜索向上搜索直至找到灰度值小于邊界灰度閾值的像素點,即為上邊界點。如果搜索的起始像素點不在太陽能電池片區域內,先采用大步長搜索直至像素點的灰度值小于邊界灰度閾值,此時搜索位置已在太陽能電池片內,再采用小步長搜索向上搜索直至像素點灰度值大于邊界灰度閾值,此時搜索位置已在太陽能電池片外,最后采用逐像素搜索向下搜索直至找到灰度值小于邊界灰度閾值的像素點,即為上邊界點。然后水平方向搜索,獲得一系列的上邊界點。
計算每個上邊界點的梯度g(x,y)=dx(i,j)+dy(i,j),其中dx(i,j)=i(i+1,j)-i(i,j),dy(i,j)=i(i,j+1)-i(i,j),(i,j)為像素點的坐標,i為該像素點的灰度值。并且將這些邊界點按照梯度大小進行升序排列,選擇梯度的中值的像素點作為k-means聚類算法的初始質心,然后計算搜索出的上邊界點與質心的歐式距離,然后與距離閾值(用于篩選出有效上邊界點,通常根據實際所需精度選取)進行比較,若小于距離閾值,則該點為有效點。通過這樣可以去除異樣的上邊界點(噪聲點、孤立點),獲得有效的上邊界點。利用有效的上邊界點進行最小二乘法擬合直線,求得直線即為上邊界。
對于下邊界,也是利用三種步長搜索,只是先向下搜索,再水平方向搜索獲得一系列的下邊界點,之后利用k-means聚類算法得到有效下邊界點,然后利用最小二乘法擬合直線,獲得下邊界。
對于左邊界,也是利用三種步長搜索,只是先向左搜索,再垂直方向搜索獲得一系列的左邊界點,之后利用k-means聚類算法得到有效左邊界點,然后利用最小二乘法擬合直線,獲得左邊界。
對于右邊界,也是利用三種步長搜索,只是先向右搜索,再垂直方向搜索獲得一系列的下邊界點,之后利用k-means聚類算法得到有效右邊界點,然后利用最小二乘法擬合直線,獲得右邊界。
s23校正四條邊界。令四條邊界的直線方程為y=k1x+b1,y=k2x+b2,y=k3x+b3,y=k4x+b4(k1,k2,k3,k4為上下左右邊界的斜率,b1,b2,b3,b4為上下左右邊界的截距)。
根據夾角公式tanθ1=(k1-k2)/(1+k1k2)(θ1為上下邊界的夾角),判斷上下邊界的平行情況,若θ1小于角度閾值(用于判斷上下邊界的平行情況,通常取5°),則無需校正上下邊界;若θ1大于角度閾值,則令km=(k3+k4)/2(km為左右邊界斜率的均值),通過上下邊界與左右邊界的垂直程度,即||k1km||與||k2km||,若||k1km||大于||k2km||,則上邊界更垂直于左右邊界,則下邊界方程為y=k1x+b2;若||k1km||小于||k2km||,則下邊界更垂直于左右邊界,則上邊界方程為y=k2x+b1;通過這樣校正了上下邊界。
同理,通過判斷左右邊界夾角以及與上下邊界的垂直情況,可以校正左右邊界。
s24計算出四條邊界之間的交點,即太陽能電池片的四個角點。
已知任意兩條直線y=k1x+b1和y=k2x+b2,且k1≠0∪k2≠0,(k1,k2分別為兩條直線的斜率,b1,b2分別為兩條直線的截距)則兩條直線的交點為:
x0=(b2-b1)/(k2-k1),y0=(k1b2-k2b1)/(k1-k2)
以此來求出太陽能電池片的四個角點。
s25使用計算出的四個角點與校正后的四個角點獲得透視變換矩陣,并且進行透視變換,得到太陽能電池片校正后的圖像。
校正后的四個角點是固定的,分別為(0,0),(0,width-1),(height-1,0),(width-1,heigt-1)(width,height分別為校正圖像的寬高)。
透視變換是將圖片投影到一個新視面,也稱作投影映射。通用的變換公式為:
如圖5所示,檢測太陽能電池片缺角的具體步驟包括:
s31讀取太陽能電池片校正后的圖像,并對其進行灰度化處理。
在檢測缺角時,會利用到s22中的三種搜索方式:大步長搜索、小步長搜索、逐像素搜索。
s32檢測太陽能電池片左上角是否缺角。
首先以圖8的3個像素點組成的檢測模板垂直向下進行逐像素掃描檢測,若起始模版的3個像素點灰度值均小于缺角閾值(該閾值是用來判斷缺角邊界點,通常取值為大于圖像灰度均值即可),則判斷該點為缺角的邊界點a。然后從邊界點a開始以大步長垂直向下進行掃描檢測,直至像素點的灰度值小于缺角閾值,此時搜索位置已在太陽能電池片內,再采用小步長搜索垂直向上搜索直至像素點灰度值大于缺角閾值,此時搜索位置已在太陽能電池片外,最后采用逐像素搜索垂直向下搜索直至找到灰度值小于設定閾值的像素點,即為下邊界缺角邊界點,獲得缺角的長度。同時從邊界點a開始以大步長水平進行掃描檢測,直至像素點的灰度值小于缺角閾值,此時搜索位置已在太陽能電池片內,再采用小步長搜索水平向左搜索直至像素點灰度值大于缺角閾值,此時搜索位置已在太陽能電池片外,最后采用逐像素搜索水平向右搜索直至找到灰度值小于缺角閾值的像素點,即為右邊界缺角邊界點,獲得缺角的寬度。利用獲得的缺角的長度以及寬度,就能將缺角標記。
s33檢測太陽能電池片右上角是否缺角。
類似s32中檢測缺角方法,此時檢測模板從右上角先水平向左掃描,然后垂直向下掃描,如圖8。
s34檢測太陽能電池片左下角是否缺角。
類似s32中檢測缺角方法,此時檢測模板從左下角先水平向右掃描,然后垂直向上掃描,如圖8。
s35檢測太陽能電池片右下角是否缺角。
類似s32中檢測缺角方法,此時檢測模板從右下角先水平向左掃描,然后垂直向上掃描,如圖8。
如圖6所示,檢測太陽能電池片崩邊的具體步驟包括:
s41讀取太陽能電池片校正后的圖像,并對其進行灰度化處理。
s42對左右邊界進行投影,分別統計崩邊區域像素點的個數。
s43對上下邊界進行投影,分別統計崩邊區域像素點的個數。
s44比較獲得崩邊區域像素點的個數與崩邊閾值(該閾值是用來判斷崩邊邊界點,通常取值為大于圖像灰度均值即可),判斷是否為崩邊,并且統計崩邊個數。
s45考慮到太陽能電池片四個角是缺角的情況,確定四條邊的連續邊界的起點和終點。對上下左右邊界進行投影,分別統計崩邊區域像素點的個數。比較獲得崩邊區域像素點的個數與崩邊閾值(該閾值是用來判斷是否崩邊,取值根據實際精度設置,通常取100),判斷是否為崩邊,并且統計崩邊個數。
通過對邊界進行投影,我們能通過投影后像素點的個數直觀有效地判斷邊界是否崩邊。當邊界出現崩邊后,投影后像素點個數明顯會增多,之后根據統計直方圖就可以確定異常區域(即為直方圖像素點增多的區域),統計出異常區域像素點的個數,然后與崩邊閾值進行比較,判斷該異常區域是否為崩邊區域。通過以上的做法,能一定程度上加快檢測速度,節約檢測時間,提高檢測效率。
如圖7所示,檢測太陽能電池片孔洞與污物的具體步驟包括:
s51讀取太陽能電池片校正后的圖像,并對其進行灰度化處理。
s52利用形態學開運算去除水平柵線。
形態學開運算即為首先對圖像進行腐蝕運算,然后再進行膨脹運算。腐蝕運算是消除物體的所有邊界點的一種過程,其結果是使剩下的物體沿其內邊緣比原來物體小一個像素。膨脹運算是將與物體接觸的所有背景點合并到該物體的過程。
利用形態學去除柵線后便于后面檢測太陽能表面的孔洞和污物,避免柵線干擾后面的檢測,從而影響檢測的準確率,去除柵線后能更便利地檢測出孔洞和污物。
s53利用最大類間方差法(ostu算法)對去除水平柵線后的太陽能電池片圖像進行二值化處理,利用水平掃描定位電極并去除電極。
最大類間方差法(ostu算法)的原理:對于一幅圖像,設前景與背景的分割閾值為t時,前景點占圖像比例為w0,均值為u0,背景點占圖像比例為w1,均值為u1。則整個圖像的均值為u=w0*u0+w1*u1。建立目標函數g(t)=w0*(u0-u)2+w1*(u1-u)2,g(t)就是當分割閾值為t時的類間方差表達式。ostu算法是的g(t)取得全局最大值,當g(t)為最大時所對應的t成為最佳閾值。
對于太陽能電池片校正后的灰度圖而言,太陽能電池片區域為前景,剩余部分為背景。當獲得最佳閾值g(t)后,將圖像中每個像素與g(t)比較,若大于g(t),則令該點像素灰度值為1;若小于g(t),則令該像素點灰度值為0。通過這樣即可獲得圖像的二值圖。
太陽能電池片上有4根電極,分別位于電池片水平方向1/8、3/8、5/8、7/8處。當水平掃描過程中,首先從水平方向1/16處開始向右進行掃描,直至像素點灰度值為1,此時已經到達電極的左邊界,繼續向右進行掃描,直至像素點灰度值為0,此時已經到達電極的右邊界,這樣就定位到第一根電極。同理,定位剩余電極。
根據電極左右兩邊的臨近區域的像素點的灰度值去補償電極的像素點的灰度值,電極就被去除。
s54利用水平掃描定位豎直柵線和邊界線并去除它們。
太陽能電池片上有3根豎直柵線,分別位于電池片水平方向1/4、1/2、3/4處。當水平掃描過程中,首先從水平方向1/5處開始向右進行掃描,直至像素點灰度值為1,此時已經到達電極的左邊界,繼續向右進行掃描,直至像素點灰度值為0,此時已經到達電極的右邊界,這樣就定位到第一根豎直柵線。同理,定位剩下的豎直柵線。
太陽能電池片上有2根邊界線,分別左邊界處、右邊界處。當水平掃描過程中,首先從水平方向左邊界處開始向右進行掃描,直至像素點灰度值為1,此時已經到達電極的左邊界,繼續向右進行掃描,直至像素點灰度值為0,此時已經到達電極的右邊界,這樣就定位到第一根邊界線。同理,定位剩余邊界線。
利用形態學運算去除豎直柵線與邊界線。
s55利用找輪廓的方法找出孔洞與污物。
利用找輪廓的方法找圖像中所有輪廓:1、對太陽能電池片的二值圖像進行掃描,找到第一個沒有歸屬的像素點(即為該像素點灰度值為1,且和周圍八鄰域的灰度均值大于0.5),設該像素點坐標為(x0,y0)。2、以(x0,y0)為中心,考慮(x0,y0)周圍八鄰域像素點(x,y),如果(x,y)滿足生長準則(即該像素點灰度值為1,且和周圍八鄰域的灰度均值大于0.5),將(x,y)與(x0,y0)合并(在同一區域內),同時將(x,y)壓入堆棧(一種存儲數據的方式)。3、從堆棧中取出一個像素,把它作為(x0,y0)返回步驟2。4、當堆棧為空時,返回步驟1。5、重復步驟1-4直到圖像中的每個點都有歸屬。
通過以上步驟就可以將二值圖中所有輪廓找到,并且將輪廓大小與輪廓閾值(即為根據輪廓內像素點的個數判斷是否為孔洞與污物,通常取值100)比較,若大于輪廓閾值,則判斷為孔洞與污物,且獲得它們的位置信息(中心,長,寬)。
s56計算出位置區域的灰度值,根據輪廓閾值判斷缺陷是為孔洞還是污物,并統計個數。
利用s55中找出的位置信息,計算該區域內的灰度平均值,并且與孔污閾值(即為區別孔洞與污物的閾值,通常取背景灰度值與灰度最大值的均值,通常取125)進行比較,若大于孔污閾值,則判斷為孔洞;若小于閾值,則判斷為污物,并統計個數。
以上對發明的具體實施例進行了詳細描述,但本發明并不限制于以上描述的具體實施例,其只是作為范例。對于本領域技術人員而言,任何對該系統進行的等同修改和替代也都在本發明的范疇之中。因此,在不脫離發明的精神和范圍下所作出的均等變換和修改,都應涵蓋在本發明的范圍內。