徐子程, 郭貴新, 鄭喜鳳,2,3*, 周 洋
(1. 長春希達(dá)電子技術(shù)有限公司,吉林 長春 130103;2. 中國科學(xué)院 長春光學(xué)精密機(jī)械與物理研究所,吉林 長春 130033;3. 季華實驗室,廣東 佛山 528200)
LED(Light Emitted Diode)顯示屏由于其尺寸靈活、亮度高、壽命長、視角大等優(yōu)點,在展會、商場、影院、地鐵、演播室、醫(yī)院等場所被廣泛地應(yīng)用[1-4]。但由于LED經(jīng)過長期使用后發(fā)光元件和驅(qū)動元件老化[5]、模塊和箱體存在安裝誤差等因素,會對亮色度均勻性造成影響[6],所以需要對顯示屏進(jìn)行校正處理[7]。而校正過程中圖像上燈點定位排序的精度將直接影響最終校正的效果。
傳統(tǒng)的亮色度檢測方法同一時間只能檢測一個點,對于LED顯示器百萬級像素點檢測來說效率低下[8]。而采用CCD(Charge Coupled Device)面陣檢測器單次測量的像素點數(shù)量很大,在相同時間內(nèi),檢測效率大幅提高[9]。LED顯示屏內(nèi)部的燈點分布存在一定的規(guī)律性,但是通過相機(jī)拍攝出來的圖像由于畸變、圖像傾斜等原因并不能保證圖像中燈點嚴(yán)格按照理想的棋盤格形狀分布。而且在LED顯示屏中會出現(xiàn)某些燈珠不能點亮,即死燈的情況,給燈點的定位造成極大的干擾。針對這種情況國內(nèi)外相關(guān)學(xué)者通過對二值圖像進(jìn)行水平和垂直投影,確定燈點位置[10-11]。
本文利用機(jī)器視覺檢測技術(shù)來測量LED顯示屏亮度[12-13],通過對圖像中所有燈點的4個角點進(jìn)行預(yù)定位、對4條邊界點按照直線方程歸類排序、對死燈位置自動補(bǔ)點、反饋角點和邊界點死燈處的理論坐標(biāo)、對所有直線進(jìn)行歸類排序完成顯示屏所有燈點的定位排序。在提高了亮度采集效率的同時,補(bǔ)充了死燈位置的坐標(biāo),為生成系數(shù)矩陣及亮色度校正提供了更精確的燈點坐標(biāo)。
LED亮度校正的前提是找到圖像上的燈點與顯示屏燈點之間位置的一一對應(yīng)關(guān)系,所以在校正前要確定圖像中各個燈點的中心坐標(biāo),然后將所有坐標(biāo)按照實際顯示屏的燈點排列順序進(jìn)行坐標(biāo)重排。
在確定燈點的具體位置之前,先要對采集到的圖像進(jìn)行灰度分布統(tǒng)計,在所獲取的感光圖像中,由于燈點一般由矩陣的方式排列,且燈點區(qū)域與背景區(qū)域的灰度值存在明顯的差異,有時還會產(chǎn)生環(huán)繞光的現(xiàn)象[14]。因此需對圖像進(jìn)行二值化處理[15-16]。首先將拍攝圖像轉(zhuǎn)化為灰度圖像,在灰度圖像中的非圖像點區(qū)域提取部分像素灰度值的平均值。然后以二倍非圖像點區(qū)域灰度值的平均值為閾值,將灰度圖像中小于閾值的像素灰度值賦值為0,大于閾值的像素灰度值賦值為1。由于燈點位置像素灰度值較高,高于閾值的點分布密集且分布形狀趨近于圓形,所以將灰度值高于閾值且密度較高的區(qū)域取該區(qū)域的中心為燈點坐標(biāo),完成燈點中心坐標(biāo)的提取。
由于拍攝過程中存在圖像坐標(biāo)系與像素坐標(biāo)系的坐標(biāo)軸線不能保證平行的情況,在燈點較多、傾斜角度較大的情況下,會出現(xiàn)坐標(biāo)排序錯誤。因此本文針對由圖像傾斜導(dǎo)致排序混亂的問題給出了一種LED燈點精準(zhǔn)排序的算法(本文僅校正由于相機(jī)和LED顯示屏沒有對準(zhǔn)導(dǎo)致圖像在一定范圍內(nèi)傾斜的情況,如果傾斜非常嚴(yán)重可能出現(xiàn)校正失敗,此時則需要調(diào)整相機(jī)重新獲取圖片)。
因為圖像中所有燈點的坐標(biāo)由于鏡頭畸變、相機(jī)傾斜、定位誤差等因素并不是嚴(yán)格按照規(guī)律排列的,但總體排列形狀趨向于棋盤格點型分布,因此本文的定位排序算法總體思路為先確定4個角點坐標(biāo),再根據(jù)斜率分別將所有點歸類到各條直線上并排序。
在以圖像左上角為坐標(biāo)原點的像素坐標(biāo)系下,無論是鏡頭畸變、相機(jī)傾斜還是其他因素導(dǎo)致拍攝圖像的LED燈點不能嚴(yán)格按照規(guī)律排列,其拍攝所得圖像的左上角和右下角頂點分別為到坐標(biāo)原點的最近點和最遠(yuǎn)點(圖1(a),1(b))。但是經(jīng)過大量實驗發(fā)現(xiàn),如果位于4個角點的LED燈珠出現(xiàn)死燈的情況,則無法完成角點定位。因此本文在定位排序的基礎(chǔ)上將死燈所在位置按照周圍點坐標(biāo)排列規(guī)律進(jìn)行了自動補(bǔ)點。
首先設(shè)原點坐標(biāo)為O(0,0),坐標(biāo)軸橫向為X軸,向右為正方向;縱向為Y軸,向下為正方向,計算所有點坐標(biāo)到坐標(biāo)原點之間的距離,并取極小值所在點設(shè)為XiYi,極大值所在點設(shè)為XaYa分別作為圖像左上角和右下角的定位點。然后找出所有點中最大的Y值設(shè)為Ymax,找出所有點中Y值小于Ymax-3l的點(l為兩個連續(xù)點之間的理想距離),如圖2(a)所示。將圖2(a)中框選的點按照X從小到大排列并選取框內(nèi)X值與最小X值的絕對值小于l/2的點,篩選結(jié)果如圖2(b)所示。最后再從小框中選取Y值最大的點即為左下角頂點,并將此點設(shè)為XiYa。
同理可證,找出所有點中最大的X值設(shè)為Xmax,并找出所有點中X值小于Xmax-3l的點,如圖3(a)所示。將圖3(a)中框選的點按照Y從小到大排列并選取框內(nèi)Y值與最小Y值的絕對值小于l/2的點,篩選結(jié)果如圖3(b)所示。最后再從小框中選取X值最大的點即為右上角頂點,并將此點設(shè)為XaYi,至此通過二向排序,完成另外兩個角點的定位。
以上是在4個角的頂點不是死燈的情況下進(jìn)行的初步定位,如果在4個角點處出現(xiàn)死燈則需進(jìn)一步進(jìn)行補(bǔ)點并重新定位。
首先將初步定位的4個角點相鄰之間兩兩連線,得到4條直線并分別設(shè)為D1、D2、D3、D4(圖4),得出理論上圖像點最外圍4條邊的直線方程的參數(shù)。
k1=(yXaYi-yXiYi)/(xXaYi-xXiYi),
(1)
b1=yXaYi-k1xXaYi,
(2)
k2=(yXaYa-yXiYa)/(xXaYa-xXiYa),
(3)
b2=yXaYa-k2xXaYa,
(4)
k3=(yXiYa-yXiYi)/(xXiYa-xXiYi),
(5)
b3=yXiYa-k3xXiYa,
(6)
k4=(yXaYa-yXiYa)/(xXaYa-xXiYa),
(7)
b4=yXaYa-k4xXaYa.
(8)
圖4 無死燈情況下定位4條直線Fig.4 Positioning four straight lines without dead lights
然后根據(jù)公式(9)分別計算所有點到4條直線之間的距離:
(9)
當(dāng)xXaYi=xXiYi,或xXaYa=xXiYa時,k值不存在,所以此時用公式(10)和(11)計算點到直線之間的距離:
d=|xXiYi-x|,
(10)
d=|xXaYa-x|,
(11)
將點到直線距離小于l/2的點分別歸類到4條邊線上,然后將屬于D1、D2兩條邊的點按照X值從小到大排列,將屬于D3、D4兩條邊的點按照Y值從小到大排列,完成線性歸類排序,并得出每條邊上點的數(shù)量m1、m2、m3、m4。
由于圖像點行列數(shù)已知,并設(shè)為p行q列,且每條直線所屬點個數(shù)也可以通過計算獲得,所以通過對比圖像點真實行列數(shù)與計算行列數(shù)是否相等可知角點處是否為死燈。但實際情況中4條邊界線上也有可能出現(xiàn)死燈的情況,所以我們先計算邊線上的死燈個數(shù)。
則有:
Bi=Ami-Ami-1,
(12)
設(shè)B1、B2中第二列有n1、n2個大于1.7l的值,B3、B4中第一列有n3、n4個大于1.7l的值,即n1、n2、n3、n4代表每條邊界線上死燈的個數(shù)(不包括頂點)。
由于左上角頂點和右下角頂點是按照頂點到原點距離確定的,如果出現(xiàn)死燈則會分別出現(xiàn)兩種情況;而左下角和右上角的點是通過邊界排序計算的,所以只會出現(xiàn)一種情況(圖5)。
以圖5(a)為例,左上角頂點為死燈,且第二行第一列為到原點最近的點,此時直線D3上的點個數(shù)m3加上死燈個數(shù)n3加上一個頂點死燈等于圖像點總行數(shù)p,直線D2上的點個數(shù)m2加上死燈個數(shù)n2等于圖像點總列數(shù)q,直線D4上的點個數(shù)m4加上死燈個數(shù)n4等于圖像點總行數(shù)p。如果滿足公式(13)則可以確定左上角頂點為死燈,此時為了后續(xù)的定位,需要在頂點處按照點間距和排列順序補(bǔ)充一個點坐標(biāo)。
(13)
同理可算出其余5種頂點死燈的坐標(biāo),完成角點坐標(biāo)的定位。
角點坐標(biāo)定位完成后,按照公式(3)、(4)、(7)、(8)可以計算出D3、D4兩條直線方程,再按照公式(9)設(shè)立閾值將屬于直線附近的點歸類到直線上并按照X值大小分別對兩條直線排序,若直線中出現(xiàn)死燈則按照規(guī)律自動補(bǔ)點。此時獲得兩個p行兩列的坐標(biāo)矩陣E1、E2。其中,
雖然像素點總體排列接近棋盤格分布,但經(jīng)過實驗發(fā)現(xiàn)如果按照某一行的斜率分別賦予每一行,再根據(jù)點間距確定直線方程中的參數(shù)b這種方法計算所有行的直線方程,結(jié)果會出現(xiàn)誤差,所以需要分別對每一行單獨計算直線方程。矩陣E1,E2中每一行的點是相對應(yīng)的,所以根據(jù)公式(14)、(15)可以計算出p個直線方程。
ki=(yiq-yi1)/(xiq-xi1),(i=1…p),
(14)
bi=yiq-ki·xiq,(i=1…p),
(15)
然后根據(jù)公式(16)分別計算所有點到每條直線之間的距離:
1109 Herpes simplex virus typeⅠinduces β-amyloid expression in human neuroblastoma cell lines SH-SY5Y
(16)
如果出現(xiàn)斜率不存在的情況則有:
di=|xi1-x|,
(17)
至此將所有點分別歸屬到每條橫向直線上,再將每條直線上的點按照Y值從小到大排列即完成所有點的正確排序。
LED顯示屏的每個像素點是由紅、綠、藍(lán)3種顏色的發(fā)光二極管組成的,所以需要對每一種顏色的發(fā)光二極管進(jìn)行校正。常見的方法中將亮度最低值作為目標(biāo)值會導(dǎo)致顯示屏校正以后亮度降低嚴(yán)重,影響觀看效果。為了獲得校正的系數(shù)矩陣,本文首先需要獲取燈點的亮度值。具體方法為:將顯示屏分別顯示紅、綠、藍(lán)3種顏色,并將亮度調(diào)節(jié)至最大,方便CCD相機(jī)采集顯示屏圖像。對燈點的亮度值提取采用亮度值積分法,即統(tǒng)計燈點的方框內(nèi)所有像素點值之和,然后將所有燈點的亮度值相加求平均數(shù),將亮度值的平均數(shù)乘以0.85得到的亮度作為校正亮度的目標(biāo)值。確定目標(biāo)值以后讓所有燈點亮度通過一個變換矩陣變?yōu)檫@個目標(biāo)值以達(dá)到亮度一致的目的。最后將目標(biāo)亮度值與所有燈點的亮度值相除得出系數(shù)矩陣:
(18)
亮度均勻性的計算過程如下:
(1)在最高灰度級、最高亮度級下顯示白場。
(3)用公式(19)計算各點亮度均勻性Pi。
(19)
式中i為0~8中任意一點。
(4)取(3)中最小值來表示LED顯示屏的亮度均勻性Lp。
圖6 亮度均勻性測量點示意圖Fig.6 Schematic diagram of brightness uniformity measurement points
為了驗證本文提出算法的有效性,本文進(jìn)行了一系列實驗。實驗選用尺寸為320×180的矩形LED顯示屏進(jìn)行檢測,計算出了所有LED燈點的位置信息,并根據(jù)目標(biāo)亮度值計算出系數(shù)矩陣,對顯示屏進(jìn)行亮度均勻性校正,校正前后顯示屏的白場顯示效果如圖7所示,其中(a)為校正前顯示效果,(b)為校正后顯示效果。
圖7 校正前(a)和校正后(b)顯示屏白場顯示效果對比圖Fig.7 Comparison chart of the white field display effect of the screen before (a) and after (b) calibration
對比圖7(a)和圖7(b),可以看出校正前顯示屏存在亮度不一致的塊狀區(qū)域,經(jīng)過校正后亮度趨于一致。最終經(jīng)過亮度檢測和計算可以得出校正前白場燈點亮度均勻性約為73.7%,而經(jīng)過校正后白場燈點亮度均勻性約為98.7%。校正前后顯示屏為白場和紅、綠、藍(lán)3種基色時測試點亮度值以及亮度均勻性結(jié)果如表1、表2所示。
表1 校正前亮度值與亮度均勻性Tab.1 Brightness value and brightness uniformity before correction
表2 校正后亮度值與亮度均勻性Tab.2 Brightness value and brightness uniformity after correction
本文針對LED顯示屏校正過程中相機(jī)拍攝的圖像存在一定程度的傾斜問題,提出了燈點定位排序的算法。通過二向排序和歸類排序的方法完成了燈點坐標(biāo)的預(yù)定位,然后根據(jù)差值檢測和周圍點坐標(biāo)對死燈位置進(jìn)行了補(bǔ)足。最后根據(jù)燈點的定位排序?qū)ED顯示屏進(jìn)行了亮度校正實驗,校正前后顯示屏白場的亮度均勻性由73.7%提高至98.7%,達(dá)到人眼可接受的范圍內(nèi),且亮度在可接受的范圍內(nèi),從而驗證了本文提出的燈點定位排序法的準(zhǔn)確性。