本發(fā)明涉及可見光通信領(lǐng)域,更具體地,涉及一種基于移動設(shè)備攝像頭檢測led光源的頻率的方法。
背景技術(shù):
現(xiàn)有技術(shù)公開了一種基于可見光的通信技術(shù),利用圖像傳感器分時(shí)逐行讀取圖像信息的特性,通過對led光源的驅(qū)動電流或驅(qū)動電壓進(jìn)行調(diào)制,簡單的說就是改變led光源的頻率,在圖像傳感器輸出端獲取若干幀明暗條紋圖片,然后對明暗條紋圖片中一對明暗條紋的寬度進(jìn)行檢測。而后,根據(jù)檢測到的圖像中一對明條紋暗條紋的寬度,通過計(jì)算來獲取led光源的頻率信息。而后,根據(jù)所述頻率信息來確定所傳輸?shù)木幋a。最后,根據(jù)特定的解碼方式恢復(fù)所傳輸信,該信息與室內(nèi)位置之間的對應(yīng)關(guān)系,獲得相應(yīng)位置信息,從而實(shí)現(xiàn)移動設(shè)備的室內(nèi)精確定位?,F(xiàn)有技術(shù)提出的可見光定位系統(tǒng)如圖1所示。
如圖1所示,實(shí)現(xiàn)可見光定位系統(tǒng)實(shí)時(shí)可靠地實(shí)現(xiàn)定位的關(guān)鍵是對不同寬度的明暗條紋圖片進(jìn)行正確的解碼,計(jì)算出其中一對明暗條紋的寬度,從而得到led光源的頻率。現(xiàn)有技術(shù)檢測一對明暗條紋的寬度的方法有:1.首先將有效光源區(qū)條紋圖片進(jìn)一步縮減為發(fā)光面矩形,對發(fā)光面矩形圖片灰度值進(jìn)行灰度值二元化,然后對二值矩形圖片中的每一行求和,再對和值求一階或二階偏導(dǎo),最后對每行的偏導(dǎo)值進(jìn)行處理得到圖片的條紋數(shù)目;2.首先獲取光源區(qū)條紋圖片,將條紋圖片轉(zhuǎn)換成灰度圖片,針對條紋圖片中每一行的所有像素計(jì)算平均灰度值,假定灰度明暗條紋圖片共有m行,將m個平均灰度值存儲在數(shù)組中,然后對數(shù)組進(jìn)行m點(diǎn)的dft運(yùn)算,除低頻分量以外的峰值所對應(yīng)的k值即條紋圖片中的條紋數(shù)目,再用總行數(shù)m除以k得到一對明暗條紋的寬度。但是通過實(shí)際實(shí)驗(yàn)的驗(yàn)證,方法一,方法二的可靠性和穩(wěn)定性并不是很理想。方法一中明暗條紋的數(shù)目是隨著led光源與移動設(shè)備之間距離的增加而減少的,而不是固定不變的,說以不能得到光源區(qū)的條紋圖片與led光源頻率的之間對應(yīng)的光系。方法二用平均閾值法不能消除遠(yuǎn)距離時(shí)在條紋圖片的外圈形成的個個不是很亮的光環(huán),這個光環(huán)會對有效光源區(qū)的截取產(chǎn)生干擾,隨著距離的增加,誤碼率會越來越高,還有條紋圖片的每行進(jìn)行求灰度值平均,在進(jìn)行dft運(yùn)算時(shí),會引入更多的噪聲,這個方法還會真加很多的運(yùn)算量,使對圖片的處理變慢,對移動設(shè)備的內(nèi)存占用比變大,影響系統(tǒng)的可靠性和穩(wěn)定性?,F(xiàn)有技術(shù)把led-id信息與位置信息的對照表,當(dāng)室內(nèi)可見光定位技術(shù)應(yīng)用范圍越來越廣的時(shí)候,led-id信息與位置信息的對照表就要頻繁的更新,移動設(shè)備上的app也就要同時(shí)頻繁的更新,隨著led-id信息與位置信息的對照表越來越龐大,會占用的大量的移動設(shè)備的內(nèi)存資源。為了解決上述出現(xiàn)的問題,本發(fā)明提出一種基于移動設(shè)備攝像頭檢測led光源頻率并與服務(wù)器進(jìn)行數(shù)據(jù)傳輸獲取位置的方法,有效的提高了可見光室內(nèi)定位系統(tǒng)的穩(wěn)定性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種基于移動設(shè)備攝像頭檢測led光源的頻率的方法,該方法可有效提高對可見光源定位的穩(wěn)定性和可靠性。
為了達(dá)到上述技術(shù)效果,本發(fā)明的技術(shù)方案如下:
一種基于移動設(shè)備攝像頭檢測led光源的頻率的方法,包括以下步驟:
s1:用移動設(shè)備的攝像頭對著經(jīng)過led光源拍照,獲取條紋圖片,將條紋圖片轉(zhuǎn)換成灰度圖像,其中每一種led燈具的頻率都對應(yīng)著一位或者多位的bit信息,在移動設(shè)備中生產(chǎn)一張頻率與bit信息對照表;
s2:采用otsu算法選取閾值將灰度圖像轉(zhuǎn)換成二值圖像,根據(jù)得到的二值圖像,進(jìn)行行掃描,獲取每行的平均灰度值;
s3:對灰度值最大的一行進(jìn)行行掃描,分別記錄第一次和最后一次出現(xiàn)大于閾值的像素點(diǎn)的縱坐標(biāo);
s4:根據(jù)記錄的第一次和最后一次出現(xiàn)大于閾值的像素點(diǎn)的縱坐標(biāo)計(jì)算出led燈具的頻率;
s5:將得到的led燈具的頻率通過對照表,獲得相對應(yīng)的bit信息進(jìn)而獲得led光源的位置。
優(yōu)選地,所述條紋圖片換成255級灰度圖像。
進(jìn)一步地,所述步驟s4的具體過程如下:
其中,w為一對黑白條紋的寬度,c1為第一次出現(xiàn)大于閾值的像素點(diǎn)的縱坐標(biāo),c2為第二次出現(xiàn)大于閾值的像素點(diǎn)的縱坐標(biāo),row_n為灰度值最大的一行中條紋圖片的黑白條紋對的數(shù)目,frow為移動設(shè)備的攝像頭的行掃描頻率。
進(jìn)一步地,所述led燈具通過發(fā)送不同頻率的光,可檢測到不同的bit信息,組合在一起就是一個完整的位置id從而得到led光源的位置。
與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:
本發(fā)明通過對led光源的驅(qū)動電流或驅(qū)動電壓進(jìn)行調(diào)制,簡單的說就是改變led光源的頻率,在圖像傳感器輸出端獲取若干幀明暗條紋圖片,然后對明暗條紋圖片一對明暗條紋的寬度進(jìn)行檢測,可知所拍攝的明暗條紋圖片每行像素值的變化規(guī)律是周期性的,即用移動設(shè)備的攝像頭的行掃描頻率比上一對黑白條紋的寬度即為led光源的頻率,不同led頻率的組合,,就可以獲得led光源的位置信息,提高了對led光源定位的穩(wěn)定性和可靠性。
附圖說明
圖1是現(xiàn)有技術(shù)提出的可見光定位系統(tǒng)的示意圖;
圖2是本發(fā)明技術(shù)提出的可見光定位系統(tǒng)的示意圖;
圖3a是經(jīng)過tcl智能手機(jī)攝像頭對led光源拍照獲得的明暗條紋圖;
圖3b是明暗條紋圖片灰度化后,在經(jīng)過otsu算法處理后的二值圖。
具體實(shí)施方式
附圖僅用于示例性說明,不能理解為對本專利的限制;
為了更好說明本實(shí)施例,附圖某些部件會有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺寸;
對于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。
下面結(jié)合附圖和實(shí)施例對本發(fā)明的技術(shù)方案做進(jìn)一步的說明。
實(shí)施例1
獲取光信號對應(yīng)的明暗條紋圖片。
如圖2所示,發(fā)射機(jī)能夠控制led燈具發(fā)送不同頻率的連續(xù)光信號,光信號的頻率可以是相同,也可以是不同,根據(jù)不同的led燈具的頻率來區(qū)分不同的碼元信息。設(shè)定led燈具的頻率為fled,用移動設(shè)備的攝像有對著led燈具拍照,得到與fled對應(yīng)的明暗條紋圖片。
對得到的條紋圖片進(jìn)行灰度化。
對每個像素點(diǎn)中rgb三個像素進(jìn)行轉(zhuǎn)換,將彩色圖像轉(zhuǎn)化為黑白圖像(如圖3a),從黑到白的亮度區(qū)分,設(shè)定為灰度值;最小為0,最大為255。
將灰度圖像轉(zhuǎn)換成二值圖像(如圖3b),閾值選取采用otsu算法。該算法是在灰度直方圖的基礎(chǔ)上采用最小二乘法原理推導(dǎo)出來的,具有統(tǒng)計(jì)意義上的最佳分割。它的基本原理是以最佳閾值將圖像的灰度值分割成兩部分,使兩部分之間的方差最大時(shí),決定閾值,即具有最大的分離性。
其數(shù)學(xué)模型如下:
設(shè)f(x,y)為條紋圖片im*n的位置(x,y)處的灰度值,灰度級為[k1,k2],則f(x,y)∈[k1k2]。若灰度級i的所有像素個數(shù)為ni,則第i級灰度出現(xiàn)的概率為:
其中并且i∈[k1,k2]。
然后用閾值k將其分成兩組,即背景c0∈[k1,k-1]和目標(biāo)c1∈[k,k2]。
背景c0部分出現(xiàn)的概率為:
目標(biāo)led光源區(qū)域c1部分出現(xiàn)的概率為:
其中ω0+ω1=1。背景c0部分的平均灰度值為:
目標(biāo)led光源區(qū)域c1部分出現(xiàn)的平均灰度值為:
圖像的總平均灰度值為:
兩組間的方差為:
δ2(k)=ω0(μ-μ0)+ω1(μ-μ1)(8)
從k1到k2間改變k,使(8)式最大的那個k值即為閾值。
進(jìn)行二值化。
當(dāng)灰度值大于閾值時(shí),灰度值二元化后的值為255;當(dāng)灰度值小于閾值時(shí),灰度值二元化后的值為0,灰度化后設(shè)g(x,y)為條紋圖片im*n的位置(x,y)處的灰度值。
對二值圖進(jìn)行分析,假設(shè)led燈具形成的明暗條紋圖片的行數(shù)為m,每行有n個像素點(diǎn)。
記錄第一次出現(xiàn)大于閾值的像素點(diǎn)的縱坐標(biāo)c1。定義一個變量s初始值記為0,掃描若有連續(xù)出現(xiàn)大于閾值的像素點(diǎn),則s增加1;掃描到最后一次出現(xiàn)連續(xù)大于閾值的像素點(diǎn),記下這段連續(xù)像素點(diǎn)的第一個像素點(diǎn)的縱坐標(biāo)c2,此時(shí)的s等于row_n。
條紋圖片的黑白條紋對的數(shù)目為row_n,一對黑白條紋的寬度(一對黑白條紋包含的包含的像素點(diǎn)的列數(shù))
計(jì)算條紋圖片的每行的所有像素計(jì)算平均灰度值,每行的平均灰度值為:
上式中的i帶表不同的行,從1到n之間變化,選取合適的i值,使(9)式中的
定位到第i行,i從1到n近行變化,對i行從左到右進(jìn)行掃描,比較g(i,j)與閾值k的大小,記錄第一次出現(xiàn)大于閾值的像素點(diǎn)的縱坐標(biāo)c1。定義一個變量s初始值記為0,掃描若有連續(xù)出現(xiàn)大于閾值的像素點(diǎn),則s增加1;掃描到最后一次出現(xiàn)連續(xù)大于閾值的像素點(diǎn),記下這段連續(xù)像素點(diǎn)的第一個像素點(diǎn)的縱坐標(biāo)c2,此時(shí)的s等于row_n。
條紋圖片的黑白條紋對的數(shù)目為row_n,一對黑白條紋的寬度(一對黑白條紋包含的像素點(diǎn)的列數(shù))
led燈具的頻率
本發(fā)明提出一種基于移動設(shè)備攝像頭檢測led光源的頻率的方法,通過對led光源的驅(qū)動電流或驅(qū)動電壓進(jìn)行調(diào)制,簡單的說就是改變led光源的頻率,在圖像傳感器輸出端獲取若干幀明暗條紋圖片,然后對明暗條紋圖片一對明暗條紋的寬度進(jìn)行檢測,可知所拍攝的明暗條紋圖片每行像素值的變化規(guī)律是周期性的,即用移動設(shè)備的攝像頭的行掃描頻率比上一對黑白條紋的寬度即為led光源的頻率,不通led頻率的組合,對應(yīng)不通的編碼的信息,將信息發(fā)送給服務(wù)器,就可以獲得從服務(wù)器返回的位置。與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)的優(yōu)勢是:
本發(fā)明提出的檢測led光源頻率的方法,可有效提高此類可見光定位系統(tǒng)的穩(wěn)定性和可靠性。通過otsu算法,可以消除有效光源區(qū)最外圈的環(huán)帶的影響,提高了系統(tǒng)的穩(wěn)定性;不需要截取有效光源區(qū),可以消去截取產(chǎn)生的誤碼,提高抗各種環(huán)境光干擾的能力,不通過fft運(yùn)算檢測明暗條紋的數(shù)目,算法簡更加潔明了,而且可大幅提高明暗條紋圖片的處理速度,減少對移動設(shè)備內(nèi)存的占用,還可以減弱噪聲的干擾,可以不需要更高的led燈具的頻率,降低硬件成本,同過與服務(wù)器的傳輸,可以不用在移動設(shè)備端導(dǎo)入位置的數(shù)據(jù)表,減小對移動設(shè)備內(nèi)存的占用,還有位置更新時(shí),總是要實(shí)時(shí)的更新app帶來的不便,具有較大的應(yīng)用價(jià)值。
采用一種現(xiàn)有的模型進(jìn)行說明。發(fā)射機(jī)對led-id信息進(jìn)行編碼設(shè)計(jì)。本實(shí)施例的發(fā)射機(jī)(led燈具)采用5種不同的led閃爍頻率代表1比特二進(jìn)制數(shù)據(jù),這樣接收機(jī)(移動設(shè)備)可以形成1種不同寬度的明暗條紋圖片和1個代表“幀頭”的條紋圖片,如表1所示,其中fledi表示第i個led閃爍頻率,li表示第i幅圖片所包含的明暗條紋寬度之和(以像素行數(shù)為單位計(jì)數(shù))。
表1:led-id信息編碼示意圖
led-id信息的編碼規(guī)則為:
1)對連續(xù)相鄰的相同的2比特二進(jìn)制數(shù)據(jù)組,交替使用不同的led閃爍頻率進(jìn)行編碼;
2)對于非連續(xù)相鄰的相同的2比特二進(jìn)制數(shù)據(jù)組,使用與前一個相鄰數(shù)據(jù)組所用led閃爍頻率差距較大的頻率進(jìn)行編碼。
假設(shè)發(fā)射端led光源循環(huán)廣播一個4位led-id信息為“1010”。根據(jù)上述規(guī)則及表1定義的編碼,并加裝幀頭后的信號為“fled5fled1fled2fled3fled4”。
在移動設(shè)備端的app里調(diào)用攝像頭對led光源進(jìn)行預(yù)覽,等間隔時(shí)間連續(xù)預(yù)覽12張圖片。用本文的方法對預(yù)覽的5張圖片進(jìn)行解碼,解出不同圖片對應(yīng)的頻率,則解出的明暗條紋像素值信息為l5l4l3l2l1,得到對應(yīng)的led-id信息為1010。
將得到的led-id的信息通過移動設(shè)備發(fā)送給服務(wù)器,用一臺電腦做服務(wù)器,服務(wù)器上存放led-id與位置信息的對照表。服務(wù)器收到led-id信息后,返回一個位置信息給移動設(shè)備,這樣就完成了定位。通過服務(wù)器,可以免去app因?yàn)閷φ毡淼母?,app也要不斷地更新的麻煩,還可以減少移動設(shè)備要自己存儲對照表而過多的占用手機(jī)內(nèi)存,app顯現(xiàn)的很龐大。
相同或相似的標(biāo)號對應(yīng)相同或相似的部件;
附圖中描述位置關(guān)系的用于僅用于示例性說明,不能理解為對本專利的限制;
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實(shí)施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。