一種裸眼3d ui控件的實現方法
【技術領域】
[0001]本發明涉及裸眼3D顯示領域及圖像處理方法,尤其涉及一種裸眼3D UI控件的實現方法。
【背景技術】
[0002]隨著最近幾年裸眼3D技術的發展,裸眼3D顯示技術已經開始從實驗室走向市場和公眾視野,其技術也日趨成熟,觀看者對裸眼3D的顯示需求不局限于裸眼3D視頻的觀看,更迫切的需要所有UI界面都是裸眼3D的呈現。由于裸眼3D顯示的特性,裸眼3D UI的實現和普通2D UI的實現有很大差異。
[0003]本方法研究的是通過裸眼3D技術,動態實時的實現UI界面中所有控件元素的裸眼3D顯示。其原理是將需要顯示的控件元素生成相應的圖片,將圖片按照裸眼3D顯示技術合成裸眼3D顯示圖片,然后將合成后的控件元素的圖片替換到對應背景圖片的相應位置。得到是效果就是文字和背景融合的3D顯示效果。
【發明內容】
[0004]本發明的目的在于克服現有UI界面中控件元素的實時融合裸眼3D顯示方法,提供一種裸眼3D UI控件的實現方法,能夠實現控件實時變換,和背景融為一體,并能顯示裸眼3D立體控件效果。
[0005]本發明的目的通過下述技術方案實現:
[0006]一種裸眼3D UI控件的實現方法,其實現方法步驟如下:
[0007]第一步、從配置文件中獲取裸眼3D顯示器的光柵參數,其光柵參數包括光柵視點數、分辨率、傾斜角、柵距、RGB排列參數、顯示器的子像素寬度;
[0008]第二步、根據得到的光柵參數求取視差圖排列表;
[0009]第三步、設定屏幕中所有UI控件元素的坐標位置;
[0010]第四步、根據控件的坐標位置和排列表得到各個控件自己的排列表;
[0011]第五步、根據坐標位置計算出每個控件的分辨率;
[0012]第六步、根據得到的控件分辨率創建對應大小的UI控件;
[0013]第七步、按光柵的視點數渲染出相應的控件視差圖;
[0014]第八步、將控件視差圖按照各自的排列表合成裸眼3D顯示圖像;
[0015]第九步、根據坐標位置將得到的裸眼3D顯示圖像覆蓋到背景圖片的相應位置;
[0016]第十步、將第九步得到的覆蓋后裸眼3D顯示圖像送入顯卡顯示。
[0017]本發明優選的技術方案是:所述第一步中的光柵參數根據配置文件的方式修改,該配置文件為所有控件的配置文件。本發明的光柵參數以配置文件的方式修改,可以根據不同光柵參數進行修改,從而保證了該方法對所有光柵普適。
[0018]本發明第二步優選的技術方案是:所述第二步中的光柵參數包括視點數(N)、傾斜角(A)、柵距(P)、子像素寬度(D)和分辨率(W*H)求出對應的生成視差圖排列表;其中,視差圖排列表的大小由分辨率(W*H)決定;視差圖排列表中坐標(X,y)的排列表值(R)通過如下公式求得:R = ((χ-3XyXtanA) % X (P/(sinAXD)))/(P/(sinAXD)) XN。
[0019]本發明第三步優選的技術方案是:所述第三步中首先定義屏幕左上角為坐標原點(0,0),控件坐標定義(xl,yl)、(x2, y2)分別表示控件左上角和右下角相對坐標原點的坐標值。
[0020]本發明第四步優選的技術方案是:所述第四步包括根據定義的控件坐標(xl,yl)、(x2, y2),從第二步中得到的整體排列表中抽取各個控件的排列表。
[0021]本發明第五步優選的技術方案是:所述第五步包括:根據定義的控件坐標(xl, yl)、(x2, y2),求得控件的分辨率為(x2_xl, y2-yl)。
[0022]本發明第八步優選的技術方案是:所述第八步包括:目標的控件裸眼3D顯示圖像坐標(w,h)的像素值為M,排列表坐標(w,h)的值為R,目標控件視差圖存儲在圖片數組中,則:
[0023]Μ = V [floor (R) ] X (R-floor (R)) +V [floor (R) -1] X (1-(R-floor (R))),根據該公式依次求得控件裸眼3D顯示圖像所有像素值,從而得到最后的裸眼3D顯示圖像。
[0024]本發明第九步優選的技術方案是:所述第九步包括:根據第三步中的坐標將第八步中得到的所有控件裸眼3D顯示圖覆蓋到背景圖片中,得到最后要顯示的裸眼3D顯示圖像。
[0025]本發明較現有技術相比,具有以下優點及有益效果:
[0026](1)本方法能夠實現控件實時變換和背景融為一體,并能顯示裸眼3D立體控件效果Ο
[0027](2)本方法研究的是通過裸眼3D技術,動態實時的實現UI界面中所有控件元素的裸眼3D顯示。其原理是將需要顯示的控件元素生成相應的圖片,將圖片按照裸眼3D顯示技術合成裸眼3D顯示圖片,然后將合成后的控件元素的圖片替換到對應背景圖片的相應位置;得到是效果就是文字和背景融合的3D顯示效果。
【附圖說明】
[0028]圖1為本發明的流程示意圖。
【具體實施方式】
[0029]下面結合實施例對本發明作進一步地詳細說明:
[0030]實施例
[0031]如圖1所示,一種裸眼3D UI控件的實現方法,其實現方法步驟如下:
[0032]第一步、從配置文件中獲取裸眼3D顯示器的光柵參數,其光柵參數包括光柵視點數、分辨率、傾斜角、柵距、RGB排列參數、顯示器的子像素寬度等參數;
[0033]第二步、根據得到的光柵參數求取視差圖排列表;
[0034]第三步、設定屏幕中所有UI控件元素的坐標位置;
[0035]第四步、根據控件的坐標位置和排列表得到各個控件自己的排列表;
[0036]第五步、根據坐標位置計算出每個控件的分辨率;
[0037]第六步、根據得到的控件分辨率創建對應大小的UI控件;
[0038]第七步、按光柵的視點數渲染出相應的控件視差圖;
[0039]第八步、將控件視差圖按照各自的排列表合成裸眼3D顯示圖像;
[0040]第九步、根據坐標位置將得到的裸眼3D顯示圖像覆蓋到背景圖片的相應位置;
[0041]第十步、將第九步得到的覆蓋后裸眼3D顯示圖像送入顯卡顯示(即圖1中的最后一步:將最終待顯示的全屏的裸眼3D合成后