本發(fā)明涉及移動終端技術(shù)領(lǐng)域,尤其涉及采用rgb疊加防vr設(shè)備色散的方法、存儲介質(zhì)及設(shè)備。
背景技術(shù):
當(dāng)一束白光從左向右通過三棱鏡后,會產(chǎn)生色散現(xiàn)象,即可以看到在三棱鏡右邊的是彩色的光線。
vr設(shè)備(virtualreality,即虛擬現(xiàn)實(shí),簡稱vr)的鏡片采用的是凸透鏡,從其鏡片的截面圖可以看出,其類似于一個(gè)鏡片中心粗,鏡片邊緣薄的三棱鏡,而且是越靠近邊緣,三棱鏡的夾角越大,因此越靠近邊緣,其色散現(xiàn)象越嚴(yán)重。
色散問題的嚴(yán)重后果會造成顯示內(nèi)容的改變,導(dǎo)致辨識不清。比如在顯示屏幕上一個(gè)白色的點(diǎn),透過鏡片后看到的是彩色的光線,這些彩色的光線會與相鄰的像素點(diǎn)相疊加,而相鄰像素的顏色色散以后又疊加在該點(diǎn)上,因此造成本來應(yīng)該顯示白色的點(diǎn)變成了彩色的點(diǎn),其他的點(diǎn)也有類似的現(xiàn)象,因此會造成所看到的畫面顏色完全變化,而且是越靠近邊緣的越嚴(yán)重。
因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供采用rgb疊加防vr設(shè)備色散的方法、存儲介質(zhì)及設(shè)備,旨在解決現(xiàn)有的智能終端置于vr設(shè)備內(nèi)觀看畫面顏色完全變化,而且是越靠近邊緣的越嚴(yán)重的問題。
本發(fā)明的技術(shù)方案如下:
一種采用rgb疊加防vr設(shè)備色散的方法,其中,所述方法包括以下步驟:
a、根據(jù)鏡片的面形和折射系數(shù),獲取鏡片上任意一點(diǎn)的折射參數(shù);
b、根據(jù)畫面中待顯示點(diǎn)對應(yīng)的rgb參數(shù)值、及折射參數(shù),獲取待顯示點(diǎn)對應(yīng)的所有疊加點(diǎn);
c、將待顯示點(diǎn)對應(yīng)的所有疊加點(diǎn)進(jìn)行疊加,并顯示待顯示點(diǎn)。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述鏡片上任意一點(diǎn)的折射參數(shù)由鏡片的曲率、鏡片的折射系數(shù)經(jīng)計(jì)算或光學(xué)仿真得到。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述步驟b具體包括:
b1、根據(jù)畫面中待顯示點(diǎn)對應(yīng)的rgb參數(shù)值、及折射參數(shù),判斷待顯示點(diǎn)是否對應(yīng)單一顏色rgb,若待顯示點(diǎn)對應(yīng)單一顏色rgb則執(zhí)行步驟c
,若待顯示點(diǎn)未對應(yīng)單一顏色rgb則執(zhí)行步驟b2;
b2、獲取待顯示點(diǎn)中rgb中紅光、綠光、藍(lán)光各自對應(yīng)的比例。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述步驟b2具體包括:
b21、獲取畫面中待顯示點(diǎn)對應(yīng)的rgb參數(shù)值r0(r0,g0,b0);其中,r0表示待顯示點(diǎn)對應(yīng)的紅光亮度,g0表示待顯示點(diǎn)對應(yīng)的綠光亮度,b0表示待顯示點(diǎn)對應(yīng)的藍(lán)光亮度;
b22、根據(jù)鏡片的面形和折射系數(shù),得到與待顯示點(diǎn)發(fā)生顏色疊加的所有點(diǎn),分別記為r1、r2、……、rm,g1、g2、……、gn,b1、b2、……、bo;
b23、獲取各疊加點(diǎn)對應(yīng)的色坐標(biāo)r1(r1,0,0)、r2(r2,0,0)、……、rm(rm,0,0),g1(0,g1,0)、g2(0,g2,0)、……、gn(0,gn,0),b1(0,0,b1)、b2(0,0,b2)、……、bo(0,0,bo);其中ri表示色坐標(biāo)ri對應(yīng)的紅光亮度、i的取值范圍為[1,m],gj表示色坐標(biāo)gj對應(yīng)的綠光亮度、j的取值范圍為[1,n],bk表示色坐標(biāo)bk對應(yīng)的藍(lán)光亮度、k的取值范圍為[1,o]。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述步驟c具體包括:
c1、將各疊加點(diǎn)對應(yīng)的色坐標(biāo)r1(r1,0,0)、r2(r2,0,0)、……、rm(rm,0,0),g1(0,g1,0)、g2(0,g2,0)、……、gn(0,gn,0),b1(0,0,b1)、b2(0,0,b2)、……、bo(0,0,bo)進(jìn)行疊加,得到r0(r0,g0,b0);其中,r0=r1+r2+……+rm,g0=g1+g2+……+gn,b0=b1+b2+……+bo;
c2、將r0(r0,g0,b0)進(jìn)行顯示。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述待顯示點(diǎn)對應(yīng)的rgb參數(shù)值r0(r0,g0,b0)中r0的取值范圍是[0,255]。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述待顯示點(diǎn)對應(yīng)的rgb參數(shù)值r0(r0,g0,b0)中g(shù)0的取值范圍是[0,255]。
所述采用rgb疊加防vr設(shè)備色散的方法,其中,所述待顯示點(diǎn)對應(yīng)的rgb參數(shù)值r0(r0,g0,b0)中b0的取值范圍是[0,255]。
一種存儲介質(zhì),其中,其中存儲有多條指令,所述指令適于由處理器加載并執(zhí)行所述采用rgb疊加防vr設(shè)備色散的方法的步驟。
一種設(shè)備,其中,包括:
處理器,適于實(shí)現(xiàn)各指令;以及
存儲設(shè)備,適于存儲多條指令,所述指令適于由處理器加載并執(zhí)行所述采用rgb疊加防vr設(shè)備色散的方法的步驟。
有益效果:本發(fā)明通過在vr顯示界面的設(shè)計(jì)中,首先根據(jù)其鏡片的折射率和曲面的曲率,得到不同位置的折射參數(shù),對于畫面中采用單顏色rgb的位置可以直接顯示,而對于介于rgb之間的混合顏色的則需要根據(jù)折射情況進(jìn)行優(yōu)化,由所在位置得到折射參數(shù),并根據(jù)折射參數(shù)得到不同顏色的疊加情況,然后確定顏色中rgb的比例,最終合成需要的顏色,避免直接顯示而產(chǎn)生的色散現(xiàn)象。
附圖說明
圖1為本發(fā)明所述采用rgb疊加防vr設(shè)備色散的方法較佳實(shí)施例的流程圖。
圖2為本發(fā)明所述采用rgb疊加防vr設(shè)備色散的方法較佳實(shí)施例中步驟s200的具體流程圖。
圖3為本發(fā)明所述采用rgb疊加防vr設(shè)備色散的方法較佳實(shí)施例中步驟s220的具體流程圖。
圖4為本發(fā)明所述基于采用rgb疊加防vr設(shè)備色散的方法較佳實(shí)施例中步驟s300的具體流程圖。
圖5為手機(jī)屏幕上相鄰的兩點(diǎn)發(fā)出綠光和藍(lán)光光線疊加的示意圖。
具體實(shí)施方式
本發(fā)明提供采用rgb疊加防vr設(shè)備色散的方法、存儲介質(zhì)及設(shè)備,為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參閱圖1,圖1為本發(fā)明所述采用rgb疊加防vr設(shè)備色散的方法較佳實(shí)施例的流程圖,如圖1所示,其包括步驟:
步驟s100、根據(jù)鏡片的面形和折射系數(shù),獲取鏡片上任意一點(diǎn)的折射參數(shù);
步驟s200、根據(jù)畫面中待顯示點(diǎn)對應(yīng)的rgb參數(shù)值、及折射參數(shù),獲取待顯示點(diǎn)對應(yīng)的所有疊加點(diǎn);
步驟s300、將待顯示點(diǎn)對應(yīng)的所有疊加點(diǎn)進(jìn)行疊加,并顯示待顯示點(diǎn)。
通常用于vr裝置的手機(jī)(或其他設(shè)備)的顯示屏幕采用rgb(紅綠藍(lán))三原色進(jìn)行顯示,因此如果在顯示畫面(即手機(jī)的顯示屏幕或其他智能終端的顯示屏幕)上采用這三種顏色進(jìn)行界面的設(shè)計(jì),色散現(xiàn)象會有大大的改善。因?yàn)檫@三種是單純的顏色,不會發(fā)生色散現(xiàn)象(當(dāng)然由于手機(jī)等顯示屏上的rgb顏色并不是單一波長的光線,所以從嚴(yán)格意義上講還是存在色散現(xiàn)象)。通常顯示屏上的每一個(gè)點(diǎn)可以用一個(gè)色坐標(biāo)表示其顏色,如(r,g,b)來表示,其中r、g、b分別代表著紅、綠、藍(lán)的顏色,通常每個(gè)數(shù)有8位,代表著256階的灰度變化,而(r,0,0)、(0,g,0)、(0,0,b)分別代表著紅、綠、藍(lán)三種顏色的不同灰階。
如果為了避免色散,而只采用rgb三種單純的顏色進(jìn)行界面顯示,這會降低畫面的顯示效果,色彩不豐富,因此需要采用其他方法進(jìn)行補(bǔ)償。故可以利用rgb單顏色的疊加來合成需要的顏色,這主要是因?yàn)殓R片對不同波長的光線的彎曲程度不一樣,因此可以利用手機(jī)屏幕上兩個(gè)不同的點(diǎn)的不同波長的光線合成一種在人眼看來是新的顏色。
例如,如圖5所示,手機(jī)屏幕上相鄰的兩個(gè)點(diǎn)發(fā)出g(0,255,0)和b(0,0,255)兩種光線,由于藍(lán)光b的波長較短,透鏡鏡片對其彎曲程度比較大,而對綠光g彎曲程度比較小。因此,經(jīng)過透鏡鏡片以后,兩束光線疊加在一起,導(dǎo)致人眼只看到一束光線,并且疊加后,人眼看到的是gb(0,255,255)的光線效果,而不是原來的藍(lán)光和綠光。
因此在界面設(shè)計(jì)中,利用單顏色rgb避免色散現(xiàn)象,而對于需要介于rgb三種顏色之間的顏色,就需要對其進(jìn)行優(yōu)化設(shè)計(jì),首先需要知道該鏡片的折射率,不同的鏡片有不同的折射率,而同一鏡片的不同位置,由于鏡片面形不同,其對光線的彎曲程度也不一樣,這個(gè)可以通過計(jì)算或者光學(xué)仿真得到。對于同一鏡片,其邊緣部分對光線的彎曲程度大于靠近中心的部分,因此設(shè)計(jì)時(shí)需要針對不同位置進(jìn)行優(yōu)化,需要得到對應(yīng)位置的光路信息,然后對顏色進(jìn)行優(yōu)化設(shè)計(jì),避免不同顏色疊加時(shí)候出現(xiàn)不需要的顏色。
本發(fā)明的實(shí)施例中,首先根據(jù)其鏡片的折射率和曲面的曲率,得到不同位置的折射參數(shù),對于畫面中采用單顏色rgb的位置可以直接顯示,而對于介于rgb之間的混合顏色的則需要根據(jù)折射情況進(jìn)行優(yōu)化,由所在位置得到折射參數(shù),并根據(jù)折射參數(shù)得到不同顏色的疊加情況,然后確定顏色中rgb的比例,最終合成需要的顏色,避免直接顯示而產(chǎn)生的色散現(xiàn)象。
優(yōu)選的,在所述采用rgb疊加防vr設(shè)備色散的方法中,所述鏡片上任意一點(diǎn)的折射參數(shù)由鏡片的曲率、鏡片的折射系數(shù)經(jīng)計(jì)算或光學(xué)仿真得到。針對實(shí)際應(yīng)用,可以考慮采用光學(xué)仿真得到鏡面上有限點(diǎn)的曲率,并通過插值方法得到其他點(diǎn)的曲率,從而得出各點(diǎn)對光線的折射參數(shù),從而確認(rèn)光線的疊加分量。
優(yōu)選的,如圖2所示,在所述采用rgb疊加防vr設(shè)備色散的方法中,所述步驟s200具體包括:
步驟s210、根據(jù)畫面中待顯示點(diǎn)對應(yīng)的rgb參數(shù)值、及折射參數(shù),判斷待顯示點(diǎn)是否對應(yīng)單一顏色rgb,若待顯示點(diǎn)對應(yīng)單一顏色rgb則執(zhí)行步驟s300,若待顯示點(diǎn)未對應(yīng)單一顏色rgb則執(zhí)行步驟s210;
步驟s220、獲取待顯示點(diǎn)中rgb中紅光、綠光、藍(lán)光各自對應(yīng)的比例。
本發(fā)明的實(shí)施中,對于介于rgb之間的混合顏色,則需要根據(jù)折射情況進(jìn)行優(yōu)化。即由待顯示點(diǎn)所在位置得到折射參數(shù),并根據(jù)折射參數(shù)得到不同顏色的疊加情況,然后確定顏色中rgb的比例,最終合成需要的顏色。通過上述方式合成的顏色,避免不同顏色疊加時(shí)候出現(xiàn)不需要的顏色。
具體的,如圖3所示,在所述采用rgb疊加防vr設(shè)備色散的方法中,所述步驟s220具體包括:
步驟s221、獲取畫面中待顯示點(diǎn)對應(yīng)的rgb參數(shù)值r0(r0,g0,b0);其中,r0表示待顯示點(diǎn)對應(yīng)的紅光亮度,g0表示待顯示點(diǎn)對應(yīng)的綠光亮度,b0表示待顯示點(diǎn)對應(yīng)的藍(lán)光亮度;
步驟s222、根據(jù)鏡片的面形和折射系數(shù),得到與待顯示點(diǎn)發(fā)生顏色疊加的所有點(diǎn),分別記為r1、r2、……、rm,g1、g2、……、gn,b1、b2、……、bo;
步驟s223、獲取各疊加點(diǎn)對應(yīng)的色坐標(biāo)r1(r1,0,0)、r2(r2,0,0)、……、rm(rm,0,0),g1(0,g1,0)、g2(0,g2,0)、……、gn(0,gn,0),b1(0,0,b1)、b2(0,0,b2)、……、bo(0,0,bo);其中ri表示色坐標(biāo)ri對應(yīng)的紅光亮度、i的取值范圍為[1,m],gj表示色坐標(biāo)gj對應(yīng)的綠光亮度、j的取值范圍為[1,n],bk表示色坐標(biāo)bk對應(yīng)的藍(lán)光亮度、k的取值范圍為[1,o]。
其中,m、n及o均為正整數(shù),且i、j及k也均為正整數(shù)。
優(yōu)選的,如圖4所示,在所述采用rgb疊加防vr設(shè)備色散的方法中,所述步驟s300具體包括:
步驟s310、將各疊加點(diǎn)對應(yīng)的色坐標(biāo)r1(r1,0,0)、r2(r2,0,0)、……、rm(rm,0,0),g1(0,g1,0)、g2(0,g2,0)、……、gn(0,gn,0),b1(0,0,b1)、b2(0,0,b2)、……、bo(0,0,bo)進(jìn)行疊加,得到r0(r0,g0,b0);其中,r0=r1+r2+……+rm,g0=g1+g2+……+gn,b0=b1+b2+……+bo;
步驟s320、將r0(r0,g0,b0)進(jìn)行顯示。
其中,在所述待顯示點(diǎn)對應(yīng)的rgb參數(shù)值r0(r0,g0,b0)中r0的取值范圍是[0,255],g0的取值范圍是[0,255],b0的取值范圍是[0,255]。
由于鏡片是中心對稱的,因此在相同的半徑處的點(diǎn),其對光線的折射是相同的。對于鏡片上的任意一個(gè)點(diǎn)r0,能夠與r0發(fā)生疊加的一定是與r0在同一徑向上的臨近的點(diǎn),如果r0點(diǎn)需要顯示的顏色為(r0,g0,b0),而與r0位置的顏色疊加的點(diǎn)為r1(r1,0,0)、r2(r2,0,0)、……、rm(rm,0,0),g1(0,g1,0)、g2(0,g2,0)、……、gn(0,gn,0),b1(0,0,b1)、b2(0,0,b2)、……、bo(0,0,bo)進(jìn)行疊加,得到r0(r0,g0,b0)進(jìn)行疊加,得到r0(r0,g0,b0),則使得以下三個(gè)等式成立即可:
r0=r1+r2+……+rm
g0=g1+g2+……+gn
b0=b1+b2+……+bo
通過以上的r1、r2、…、rm,g1、g2、…、gn,b1、b2、…、bo等各點(diǎn)的顏色疊加就得到了r0(r0,g0,b0)的效果??梢?,通過本發(fā)明所述采用rgb疊加防vr設(shè)備色散的方法,避免直接顯示而產(chǎn)生的色散現(xiàn)象。
本發(fā)明還提供一種存儲介質(zhì),其中,其中存儲有多條指令,所述指令適于由處理器加載并執(zhí)行所述采用rgb疊加防vr設(shè)備色散的方法的步驟。
本發(fā)明還提供一種設(shè)備,其中,包括:
處理器,適于實(shí)現(xiàn)各指令;以及
存儲設(shè)備,適于存儲多條指令,所述指令適于由處理器加載并執(zhí)行所述采用rgb疊加防vr設(shè)備色散的方法的步驟。
綜上所述,本發(fā)明通過在vr顯示界面的設(shè)計(jì)中,首先根據(jù)其鏡片的折射率和曲面的曲率,得到不同位置的折射參數(shù),對于畫面中采用單顏色rgb的位置可以直接顯示,而對于介于rgb之間的混合顏色的則需要根據(jù)折射情況進(jìn)行優(yōu)化,由所在位置得到折射參數(shù),并根據(jù)折射參數(shù)得到不同顏色的疊加情況,然后確定顏色中rgb的比例,最終合成需要的顏色,避免直接顯示而產(chǎn)生的色散現(xiàn)象。
應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。