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