本發(fā)明屬于太陽能電池生產(chǎn)及應(yīng)用領(lǐng)域,涉及一種圖像處理分割方法,特別涉及一種基于灰度跳變的太陽能電池單元圖像分割方法。
背景技術(shù):
隨著傳統(tǒng)能源不斷枯竭,太陽能的開發(fā)和利用得到國家的高度重視。太陽能電池組件作為太陽能最重要的利用形式——光電轉(zhuǎn)換的載體,利用一些技術(shù)或者設(shè)備對(duì)其進(jìn)行生產(chǎn)監(jiān)控和缺陷檢測,從而減少其破損率,不僅能有效提高產(chǎn)品等級(jí),同時(shí)也能減少硅材料的耗費(fèi),降低生產(chǎn)成本,提高組件的市場競爭力。
在進(jìn)行缺陷檢測前,還需要先對(duì)電池組件進(jìn)行單元分割提取。而電池單元分割提取的好壞對(duì)后面缺陷特征提取和識(shí)別起著至關(guān)重要的作用。目前太陽能電池單元分割主要有兩種:基于模板匹配的提取思想和基于組件el圖像(電致發(fā)光圖像)等間距分割思想。基于模板的提取分割主要是提取單個(gè)電池單元可通過在組件圖像中尋找與電池單元模板匹配的區(qū)域?qū)崿F(xiàn)提取分割;基于組件el圖像等間距分割思想主要是組件el圖像中各電池單元按a行b列規(guī)整分布,可通過對(duì)組件圖像進(jìn)行電池單元數(shù)量統(tǒng)計(jì),網(wǎng)格劃分,網(wǎng)格分塊提取等步驟實(shí)現(xiàn)電池單元的分割提取。
但這些方案存在一些不足之處:基于模板的提取思想在組件圖像中存在較多暗片的情況下,其提取成功率較低;基于組件el圖像等間距分割思想的應(yīng)用存在局限性,只能針對(duì)組件單元是矩形的才可以應(yīng)用。
本發(fā)明提出基于灰度跳變思想的太陽能電池單元分割方法,能夠有效地克服上面兩種方法存在的缺點(diǎn),在前期對(duì)太陽能電池組件el圖像做好預(yù)處理后,根據(jù)灰度跳變特征來確定電池單元邊界,能準(zhǔn)確實(shí)現(xiàn)組件圖像分割。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的是提供一種基于灰度跳變思想太陽能電池組件單元分割方法,在太陽能電池單元分割前,先對(duì)圖像進(jìn)行前期處理:透視變換校正、桶形畸變校正等,才能減小后面分割的出錯(cuò)率,易于找出每個(gè)電池單元的邊界;在電池單元分割階段,基于灰度跳變思想,根據(jù)邊界前后灰度值不一樣,進(jìn)而準(zhǔn)確找出單元邊界,提高分割精確度。
本發(fā)明采用以下方案實(shí)現(xiàn):一種基于灰度跳變思想太陽能電池單元分割方法,具體包括以下步驟:
步驟s1:對(duì)傾斜的太陽能電池組件圖像進(jìn)行透視投影變換,得到帶有桶形失真的校正圖像;
步驟s2:對(duì)步驟s1處理獲得的帶有桶形失真的圖像進(jìn)行桶形畸變校正,得到較為的理想的矩形;
步驟s3:對(duì)步驟s2處理后獲得的圖像二值化,將前景和后景區(qū)分開;
步驟s4:對(duì)步驟s3處理獲得的圖像進(jìn)行閉運(yùn)算,使前景邊界平滑;
步驟s5:對(duì)步驟s4處理獲得的圖像,據(jù)灰度跳變特性來確定太陽電池組件的邊界并將其截取下來;
步驟s6:對(duì)步驟s5處理獲得的組件圖像預(yù)處理,根據(jù)灰度跳變特性來確定太陽能電池組件單元的邊界并將其分割提取。
進(jìn)一步地,所述步驟s1中所述透視投影變換具體方法為:對(duì)于初始圖像,手動(dòng)選取四個(gè)控制點(diǎn)(xi,yi),其中四個(gè)控制點(diǎn)(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)依次為太陽能電池組件部分的左上角點(diǎn)、右上角點(diǎn)、左下角點(diǎn)、右下角點(diǎn),i=1,…,4,從原四邊形獲得新矩形的寬和高
獲得全局變換系數(shù)fa=a-1*b(fa是一個(gè)8*1矩陣),根據(jù)全局變換系數(shù)可以得到變換后圖像的高度和寬度,采用鄰近插值法從變換圖像中反向?qū)ふ以瓐D像的點(diǎn),以免出現(xiàn)空洞,完成透視投影變換。
進(jìn)一步地,所述步驟s2桶形畸變校正具體方法為:由于透視變換后的圖像產(chǎn)生了桶形失真,要對(duì)其進(jìn)行畸變校正。建立一張標(biāo)準(zhǔn)圖像,點(diǎn)陣之間距離相等,通過比較標(biāo)準(zhǔn)圖像和失真圖像的對(duì)應(yīng)點(diǎn)坐標(biāo),可以建立失真校正模型:
x'=k1(1+k2(x2+y2))x
y'=k1(1+k2(x2+y2))y
式中k1——圖像比例系數(shù);
k2——失真校正系數(shù);
(x,y)為原圖像像素的坐標(biāo);
(x',y')為矯正后圖像像素的坐標(biāo);
通過反變換即可得到攝像頭的校正模型,從而得到校正圖像。
步驟s2中的k1和k2具體含義:k1決定校正圖像的大小,k1越大,校正后的圖像越大。k2為桶形失真校正的系數(shù),k2越大,桶形失真校正程度越大,即圖像向內(nèi)凹的程度越大,應(yīng)用于桶形失真較大的圖像;k2越小,桶形失真校正程度越小,即圖像向內(nèi)凹的程度越小,應(yīng)用于桶形失真較小的圖像。
進(jìn)一步地,所述步驟s3中對(duì)圖像進(jìn)行二值化具體為最大類間差方法,該二值化方法對(duì)場景較為簡單的情況下(即前景和后景占圖像像素中的大部分),可以達(dá)到較為理想的分割效果。
進(jìn)一步地,所述步驟s4中閉運(yùn)算具體方法為:用10*10結(jié)構(gòu)元素先對(duì)圖像進(jìn)行膨脹處理,再用10*10結(jié)構(gòu)元素對(duì)圖像進(jìn)行腐蝕處理,從而使前景邊界平滑。
進(jìn)一步地,所述步驟s5中根據(jù)灰度跳變特性確定太陽能電池組件邊界具體方法為:通過行掃描灰度跳變特征來確定太陽能電池上下邊界,通過列掃描灰度跳變特征來確定太陽能電池左右邊界,確定邊界后就可以截取太陽能電池組件。
具體步驟為:
步驟s51:用i表示從太陽能電池組件圖像自上向下開始編號(hào)的行號(hào),并令初始值i=1;用pt表示太陽能電池下邊界的像素行號(hào),并令初始值pt=0;
步驟s52:統(tǒng)計(jì)第i行的灰度跳變點(diǎn)總數(shù),即像素灰度值從0到255或者255到0轉(zhuǎn)變的像素點(diǎn)數(shù)量,記為s(i),若s(i)第一次大于等于設(shè)定的閾值t1(t1為當(dāng)前太陽能電池組件圖像寬度的二分之一),則表示該行為太陽能電池組件圖像的上邊界并停止統(tǒng)計(jì),記為pt=i;
步驟s53:用i表示從太陽能電池組件圖像自下向上開始編號(hào)的行號(hào),并令初始值i=m(m為當(dāng)前太陽能電池組件圖像寬度);用pb表示太陽能電池下邊界的像素行號(hào),并令初始值pb=0;
步驟s54:統(tǒng)計(jì)第i行的灰度跳變點(diǎn)總數(shù),即像素灰度值從0到255或者255到0轉(zhuǎn)變的像素點(diǎn)數(shù)量,記為s(i),若s(i)第一次大于等于設(shè)定的閾值t2(t2為當(dāng)前太陽能電池組件圖像寬度的二分之一),則表示該行為太陽能電池組件圖像的上邊界并停止統(tǒng)計(jì),記為pb=i;
步驟s55:太陽能電池組件的左邊界pl、右邊界pr按照類似步驟s51到步驟s54同樣可以確定;
步驟s56:截取太陽能電池組件圖像部分;
進(jìn)一步地,步驟s6中根據(jù)灰度跳變特性確定太陽能電池組件單元邊界具體方法為:
電池單元橫向邊界確定步驟如下:
步驟s61:對(duì)截取的圖像進(jìn)行腐蝕運(yùn)算,減少圖像中縱向條紋的干擾;
步驟s62:對(duì)圖像進(jìn)行線性平滑,使圖像中的橫向條紋更加明顯,以提高提取電池單元邊界的準(zhǔn)確度;
步驟s63:通過灰度跳變特征來確定電池單元橫向邊界;
電池單元縱向邊界確定步驟如下:
步驟s61:對(duì)截取的圖像進(jìn)行膨脹運(yùn)算,減少圖像中橫向條紋的干擾;
步驟s62:對(duì)圖像進(jìn)行線性平滑,使圖像中的縱向條紋更加明顯,以提高提取電池單元邊界的準(zhǔn)確度;
步驟s63:通過灰度跳變特征來確定電池單元橫向邊界;
其中通過灰度跳變特征來確定單元縱向邊界具體過程如下:
步驟s61:用i表示從太陽能電池組件圖像自上向下開始編號(hào)的行號(hào),并令初始值i=1;用r表示太陽能電池下邊界的像素行號(hào),r為一個(gè)一維矩陣,記為r(k),令k初始值為k=1;
步驟s62:統(tǒng)計(jì)第i行的灰度值為255的點(diǎn)的總數(shù),記為s(i),若s(i)大于等于設(shè)定的閾值t1=0.95*m(m為當(dāng)前太陽能電池組件圖像寬度),則表示該行為我們要找的目標(biāo)行,記為r(1)=i并k=k+1;
步驟s63:令i=i+1繼續(xù)1)、2)步驟,直到i大于m循環(huán)結(jié)束;
步驟s64:根據(jù)灰度跳變特征,將矩陣r中已經(jīng)確定的行與它的前一行或者后一行進(jìn)行灰度對(duì)比,統(tǒng)計(jì)該行的灰度跳變點(diǎn)總數(shù),即像素灰度值從0到255或者從255到0轉(zhuǎn)變的像素點(diǎn)數(shù)量,記為s(r(k)),其中令k初始值為k=1,若s(r(k))大于等于設(shè)定的閾值t1=0.95*m(m為當(dāng)前太陽能電池組件圖像寬度),則表示該行為太陽能電池組件單元的邊界,記為rfinal(i)=r(k);
本發(fā)明的優(yōu)點(diǎn)在于組件中存在非等間隔矩形結(jié)構(gòu)時(shí),以及圖像中存在較多暗片的情況下和組件單元缺陷類型較多時(shí),都能夠準(zhǔn)確將太陽能電池單元分割提取出來。本發(fā)明的分割準(zhǔn)確率可達(dá)99%以上。
附圖說明
圖1是本發(fā)明的流程框圖
圖2是太陽能電池組件el圖像。
圖3是透視變換傾斜校正圖像。
圖4是桶形失真校正圖像。
圖5是太陽能電池組件el截取圖像。
圖6是分割后的太陽能電池單元。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明。
本實(shí)施例提供一種基于灰度跳變思想太陽能電池組件單元分割方法,流程框圖如圖1所示,圖2為本實(shí)施例采用的太陽能電池組件el圖像,它由12*6個(gè)太陽能電池單元拼接而成,利用本方法可以將它分割為獨(dú)立的太陽能電池單元。具體包括以下步驟:
步驟s1:對(duì)傾斜的太陽能電池組件圖像進(jìn)行透視投影變換,得到帶有桶形失真的校正圖像;
步驟s2:對(duì)步驟s1處理獲得的帶有桶形失真的圖像進(jìn)行桶形畸變校正,得到較為的理想的矩形;
步驟s3:對(duì)步驟s2處理后獲得的圖像二值化,將前景和后景區(qū)分開;
步驟s4:對(duì)步驟s3處理獲得的圖像進(jìn)行閉運(yùn)算,使前景邊界平滑;
步驟s5:對(duì)步驟s4處理獲得的圖像,據(jù)灰度跳變特性來確定太陽電池組件的邊界并將其截取下來;
步驟s6:對(duì)步驟s5處理獲得的組件圖像預(yù)處理,根據(jù)灰度跳變特性來確定太陽能電池組件單元的邊界并將其分割提取。
在本實(shí)施例中,步驟s1采用的透視投影變換具體方法為:對(duì)于初始圖像,手動(dòng)選取四個(gè)控制點(diǎn)(xi,yi),其中四個(gè)控制點(diǎn)(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)依次為太陽能電池組件部分的左上角點(diǎn)、右上角點(diǎn)、左下角點(diǎn)、右下角點(diǎn),i=1,…,4,從原四邊形獲得新矩形的寬和高
獲得全局變換系數(shù)fa=a-1*b(fa是一個(gè)8*1矩陣),根據(jù)全局變換系數(shù)可以得到變換后圖像的高度和寬度,采用鄰近插值法從變換圖像中反向?qū)ふ以瓐D像的點(diǎn),以免出現(xiàn)空洞,完成透視投影變換。
圖3為經(jīng)步驟s1處理后得到的帶有桶形失真的太陽能電池組件圖像。
在本實(shí)施例中,步驟s2采用桶形畸變校正具體方法為:由于透視變換后的圖像產(chǎn)生了桶形失真,要對(duì)其進(jìn)行畸變校正。建立一張標(biāo)準(zhǔn)圖像,點(diǎn)陣之間距離相等,通過比較標(biāo)準(zhǔn)圖像和失真圖像的對(duì)應(yīng)點(diǎn)坐標(biāo),可以建立失真校正模型:
x'=k1(1+k2(x2+y2))x
y'=k1(1+k2(x2+y2))y;
k1——圖像比例系數(shù),本實(shí)例中k1=-0.000000003;
k2——失真校正系數(shù),本實(shí)例中k2=-0.00000000352;
通過反變換即可得到攝像頭的校正模型,從而得到校正圖像。
圖4為經(jīng)步驟s2處理后得到的較為理想的太陽能電池組件矩形圖像。
在本實(shí)施例中,所述步驟s3中對(duì)圖像進(jìn)行二值化具體為最大類間差方法,該二值化方法對(duì)場景較為簡單的情況下(即前景和后景占圖像像素中的大部分),可以達(dá)到較為理想的分割效果。
在本實(shí)施例中,所述步驟s4中閉運(yùn)算具體方法為:用10*10結(jié)構(gòu)元素先對(duì)圖像進(jìn)行膨脹處理,再用10*10結(jié)構(gòu)元素對(duì)圖像進(jìn)行腐蝕處理,從而使前景邊界平滑。
在本實(shí)施例中,所述步驟s5中根據(jù)灰度跳變特性確定太陽能電池組件邊界具體方法為:通過行掃描灰度跳變特征來確定太陽能電池上下邊界,通過列掃描灰度跳變特征來確定太陽能電池左右邊界,確定邊界后就可以截取太陽能電池組件。
具體步驟為:
步驟s51:用i表示從太陽能電池組件圖像自上向下開始編號(hào)的行號(hào),并令初始值i=1;用pt表示太陽能電池下邊界的像素行號(hào),并令初始值pt=0;
步驟s52:統(tǒng)計(jì)第i行的灰度跳變點(diǎn)總數(shù),即像素灰度值從0到255或者255到0轉(zhuǎn)變的像素點(diǎn)數(shù)量,記為s(i),若s(i)第一次大于等于設(shè)定的閾值t1(t1為當(dāng)前太陽能電池組件圖像寬度的二分之一),則表示該行為太陽能電池組件圖像的上邊界并停止統(tǒng)計(jì),記為pt=i;
步驟s53:用i表示從太陽能電池組件圖像自下向上開始編號(hào)的行號(hào),并令初始值i=m(m為當(dāng)前太陽能電池組件圖像寬度);用pb表示太陽能電池下邊界的像素行號(hào),并令初始值pb=0;
步驟s54:統(tǒng)計(jì)第i行的灰度跳變點(diǎn)總數(shù),即像素灰度值從0到255或者255到0轉(zhuǎn)變的像素點(diǎn)數(shù)量,記為s(i),若s(i)第一次大于等于設(shè)定的閾值t2(t2為當(dāng)前太陽能電池組件圖像寬度的二分之一),則表示該行為太陽能電池組件圖像的上邊界并停止統(tǒng)計(jì),記為pb=i;
步驟s55:太陽能電池組件的左邊界pl、右邊界pr按照類似步驟s51到步驟s54同樣可以確定;
步驟s56:截取太陽能電池組件圖像部分。
圖5為經(jīng)步驟s5處理后的得到的太陽能電池組件部分圖像。
在本實(shí)施例中,步驟s6中根據(jù)灰度跳變特性確定太陽能電池組件單元邊界具體方法為:
電池單元橫向邊界確定步驟如下:
步驟s61:對(duì)截取的圖像進(jìn)行腐蝕運(yùn)算,減少圖像中縱向條紋的干擾;
步驟s62:對(duì)圖像進(jìn)行線性平滑,使圖像中的橫向條紋更加明顯,以提高提取電池單元邊界的準(zhǔn)確度;
步驟s63:通過灰度跳變特征來確定電池單元橫向邊界;
電池單元縱向邊界確定步驟如下:
步驟s61:對(duì)截取的圖像進(jìn)行膨脹運(yùn)算,減少圖像中橫向條紋的干擾;
步驟s62:對(duì)圖像進(jìn)行線性平滑,使圖像中的縱向條紋更加明顯,以提高提取電池單元邊界的準(zhǔn)確度;
步驟s63:通過灰度跳變特征來確定電池單元橫向邊界;
其中通過灰度跳變特征來確定單元縱向邊界具體過程如下:
步驟s61:用i表示從太陽能電池組件圖像自上向下開始編號(hào)的行號(hào),并令初始值i=1;用r表示太陽能電池下邊界的像素行號(hào),r為一個(gè)一維矩陣,記為r(k),令k初始值為k=1;
步驟s62:統(tǒng)計(jì)第i行的灰度值為255的點(diǎn)的總數(shù),記為s(i),若s(i)大于等于設(shè)定的閾值t1=0.95*m(m為當(dāng)前太陽能電池組件圖像寬度),則表示該行為我們要找的目標(biāo)行,記為r(1)=i并k=k+1;
步驟s63:令i=i+1繼續(xù)1)、2)步驟,直到i大于m循環(huán)結(jié)束;
步驟s64:根據(jù)灰度跳變特征,將矩陣r中已經(jīng)確定的行與它的前一行或者后一行進(jìn)行灰度對(duì)比,統(tǒng)計(jì)該行的灰度跳變點(diǎn)總數(shù),即像素灰度值從0到255或者從255到0轉(zhuǎn)變的像素點(diǎn)數(shù)量,記為s(r(k)),其中令k初始值為k=1,若s(r(k))大于等于設(shè)定的閾值t1=0.95*m(m為當(dāng)前太陽能電池組件圖像寬度),則表示該行為太陽能電池組件單元的邊界,記為rfinal(i)=r(k);
圖6為經(jīng)步驟s6處理后得到的一個(gè)太陽能電池單元示例。
本發(fā)明采用了200組的太陽能電池組件el圖像作為測試,所使用的測試組件圖像中存在暗片及缺陷類型的較多情況下,以及組件單元不是等間隔矩形結(jié)構(gòu)時(shí),均能夠準(zhǔn)確將太陽能電池單元分割提取出來。本發(fā)明的分割準(zhǔn)確率可達(dá)99%以上。
以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明申請(qǐng)專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。