本站小編為你精心準備了多屏幕三維體顯示技術參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
《電子器件雜志》2014年第三期
1PDLC屏幕的特性
1.1屏幕特性的測試我們在測試過程中將用一個高電平為60V左右的方波,加在屏幕的兩端,切換屏幕的同時,在屏幕的一邊放置一個發出穩定的光強的儀器,在屏幕的另一端測定透過屏幕的光強,從而確定屏幕的散射狀態。在時間軸上對測定的數據進行繪圖,比較,分析。通過調整這個方波的某些參數,來實現對屏幕特性的測試。如圖2,方波的高電平的時間為2A+3B,低電平的時間為A,通過調整A、B的值,觀察屏幕能透過的光強,獲取屏幕的響應特性。當最開始時,將A設為13ms,B=2ms,當屏幕從開態切換為關態時,由圖3可見,屏幕所透過的光強緩慢下降,在下一個開態到來時,并不能下降到最低的狀態。對參數做出改動,如圖4所示,A=19ms,B=2ms,此時的光強曲線依然緩慢下降,直到下一個開態到來時,還是沒有穩定在某一個低透過率的情況。而此時整個周期已達63ms,顯然已經不能滿足后續試驗所要求的50Hz的情況。
1.2結果分析由上文知,在普通的方波作用于PDLC屏幕時,屏幕恢復到關態的速度太慢,不能滿足本項目后續進程的要求。因此,我們將對脈沖做些改動:我們每一次關屏幕時,先將原來的電壓置零,再給一個反向的窄脈沖,這個反向窄脈沖將屏幕的電壓快速的拉下來,縮短了弛豫時間。從而在短時間內實現開態到關態的切換(如圖6所示,單路輸出波形所示)。
2驅動屏幕的硬件電路
2.1硬件電路概述本裝置中需要驅動PDLC屏幕工作,基本要求為:電路的一端外接高壓電源,利用MOS管的開關特性,將輸入的FPGA產生的方波變成高電平等于高壓源電壓(60V~100V)的,與原波形時序相同的方波。最終設計出如圖5的電路。
2.2硬件電路詳述數字的控制信號(一般可由FPGA產生)由YIN_1輸入,通過光耦開關6N137[4]實現數字地與模擬地的隔離。在經過一個集電極開路(7406)的反相器之后,到達級聯的三級管的基極,三極管的輸出控制MOS管的柵極。MOS管的一端接的是近100V的高壓,三極管的輸出的變化范圍為9V,不可能提供接近高壓源的電壓去控制MOS管的通斷,所以需要一個DC-DC[5]來隔離地信號,從而使級聯的三極管工作在虛擬地上,而實際上相對于模擬地的電壓在電源電壓附近,從而使兩個級聯的三極管的輸出可控制MOS管的通斷。當MOS管可以受控通斷時,就可使用MOS管的開關特性來形成輸出的方波信號。在MOS管與三級管之間,接了一個電阻,電阻的作用是與MOS管中的寄生電容匹配,降低MOS管的時間常數,實現MOS管的快速響應,在此電阻上并聯了一個快恢復二極管,作用是在電壓反相時構建電流通路,使得寄生電容上的電荷快速流失,提高響應速度。在圖5中,之所以電路后半部分會有兩路類似的結構,僅僅是為了提高電路的輸出功率。
3驅動波形的時序
空間光調制器與PC使用DVI接口連接,在PC與空間光調制器傳輸圖像信息時,此DVI接口可發送給FPGA一個周期性的尖脈沖,此脈沖的周期,即為空間光調制器投影三張不同景深的圖片的其中一張所用的時間。我們在建立電路與投影儀器的協同時,需要獲得此尖脈沖作為時鐘,而后將輸出3路給驅動電路的信號,每一路信號將有控制正電源、正電源接地通路和負電源、負電源接地通路的總共4個I/O口輸出的波形,從而實現對3個屏幕的驅動。我們在編程時,使用的是Altera公司的DE0開發板[6],其上載有AlteraCycloneⅢ型fpga芯片[7],上文提到我們要驅動三塊屏幕,每塊屏幕需要4路信號,于是我們將分配12個I/O口。
3.1每一路的正負電壓的關系由于在實驗中,對每一塊屏幕而言,它將受到60V到100V的驅動電壓。因此,如果僅僅有正電壓的驅動的話,在運行過程中的平均電壓將高于周圍環境中的電壓,甚至平均電壓差有可能超過安全電壓,會造成安全隱患。所以我們將電路設計為正負電壓交替驅動,這樣PDLC的屏幕將處于平均電壓為零的狀態。除此之外,根據對屏幕測試的結果可知,每一次屏幕從開態切換到關態會有一個弛豫時間,導致切換速度變慢。因此我們每一次關屏幕時,先將原來的電壓置零,再給一個反向的窄脈沖,這個反向窄脈沖將屏幕的電壓快速的拉下來,使屏幕快速回到關態,縮短了弛豫時間。因此,單獨對每一路而言,當正負電壓疊加后的輸出波形如圖6所示。
3.2各塊屏幕間的時序現階段試驗中,我們實現了三塊屏幕交替閃爍的關系。在投影某一塊屏幕時,它前面的屏幕必須透明,這樣空間光調制器才可以將此屏幕對應的圖像投上去。于是我們設計了如下的時序:當投影在屏幕一上的時候,屏幕一不透明,波形為低電平。當投影在屏幕二上時,屏幕一透明,高電平,屏幕二不透明,低電平。當投影在屏幕三上時,屏幕一、二透明,高電平,屏幕三不透明,低電平。于是就形成了:三路波形依次以一定的時間差顯示同一個波形的循環結構。如圖7所示(此處我們僅僅給出了正向的波形,負向的波形同理可知)。
4基于Opencv的二維圖像景深提取算法
本項目中,我們先對普通的圖片做基于Opencv的景深提取,獲得灰度圖,然后再利用分數階傅里葉變換,將圖片中不同的景深的部分分層次顯示出來,在此處主要簡述了基于Opencv的景深提取算法。
4.1何為景深景深是指在攝影機鏡頭或其他成像器前沿著能夠取得清晰圖像的成像景深相機器軸線所測定的物體距離范圍。
4.2關于OpencvOpencv是一個跨平臺計算機視覺庫。它實現了圖像處理和計算機視覺方面的很多通用算法[8]。Opencv擁有包括300多個C函數的跨平臺的中、高層API。在這個項目中,我們僅使用Opencv的內部庫,沒有自己編譯的Opencv庫。
4.3立體匹配與視差計算立體匹配主要是通過找出每對圖像間的對應關系,根據三角測量原理,得到視差圖;在獲得了視差信息后,根據投影模型很容易地可以得到原始圖像的深度信息和三維信息。
4.3.1SAD匹配代價疊加用以計算視差的圖像有兩幅,以水平前向的兩個攝像機為例,左邊攝像機拍攝到的為圖8,右邊的為圖9。匹配兩幅不同視圖的3D點,必須在它們重疊視圖內的可視區域上才能被計算。因此一開始,必須對兩幅視圖進行雙目匹配。雙目匹配的算法主要有3種:SSD,SAD和NCC。這里我們選取SAD算法。SAD,即絕對誤差累計的最小窗口,它用灰度值來表征兩幅圖像之間的差異。將左右兩幅視圖每個像素點的灰度值逐一相減取絕對值,再橫向縱向相加求得總和。算法對于兩幅圖像的亮度差異進行預處理,使得兩圖在匹配之前能夠有相近的亮度從而減小誤差,也增強了圖像文理。這個過程通過在整幅圖像上移動窗口,即匹配塊來實現。圖8和圖9對齊之后,就開始在同一行搜索。對于圖8的某一點,搜索圖9的同一行。以該點為中心,取一個匹配塊(比如9×9),再在圖9搜索等大的匹配塊,計算兩個塊之間的SAD值。SAD值最小的,代表它們灰度值的差異最小,那么兩個中心點就匹配起來了。也就是說,只有當一定區域內的灰度值差異相同,才能保證這兩點是匹配的。匹配塊窗口大小,最小為5×5,最大為21×21,這里我們取9×9,可以達到較好的匹配效果和較短的運行時間。
4.3.2SGBM算法的狀態參數設置SGBM作為一種全局匹配算法,立體匹配的效果明顯好于局部匹配算法,但是同時復雜度上也要遠遠大于局部匹配算法。由于SGBM算法已經集成,并且其調用的庫函數也相當成熟,因此我們只關心算法的外部接口,也就是狀態參數的設置匹配過程通過SAD滑動窗口來完成。對圖8上的每個特征而言,搜索圖9中的對應行以找到最佳匹配。對于兩個水平前向平行的攝像機,圖9上的匹配位置一定會在圖8的相同行上。以下為滑動窗口的相關參數:(1)控制匹配搜索的第1個參數是minDisparity,它說明了匹配搜索從哪里開始,默認值為0。(2)程序在numberofDisparities設置的視察內開始搜索,默認值為64。(3)通過限制同一行上匹配點的搜索長度來減少搜索的視差個數,從而減縮計算時間。由于視差和景深成反比,因此,通過設置最小視差和搜索的視差個數,就可以建立起一個雙眼視界,這個3D體被立體算法的搜索范圍所覆蓋。運行效果如圖10、圖11所示,圖11為運行結果。結果說明:灰度圖的視覺范圍與雙目視覺圖像中的左視圖保持一致。灰度圖像上,顏色越淺,表示該處與人眼的距離越近;反之則越遠。從運行出來的灰度圖可以看出,SGBM具有一定的準確性,圓錐、人臉和柵欄的輪廓均有所體現,由淺到深表現出的由遠及近也大致準確。但算法自身仍存在以下缺陷:(1)精確度不夠原圖中,人臉有凹凸的五官。也就是說,鼻梁(凸起)和與其處在同一水平位置的臉頰相比,顯然,鼻梁與觀察者的距離比臉頰要遠。但是灰度圖上整張臉呈現均勻的灰色,沒有凹凸感,即沒有體現精密的景深。(2)圖像輪廓有所畸變。(3)左右兩幅視圖必須底部對齊且大小相同,沒有自動校正。
5小結
本項目設計了一個基于PDLC屏幕的多屏幕三維立體顯示系統,并研究了基于Opencv的景深提取算法。通過以上研究,我們可以成功的將一幅二維的圖像中的三維景深信息提取出來,并轉化為不同景深的圖片供空間光調制器呈現出全息投影投影;而PDLC屏幕將與投影同步切換,從而使圖像成像于與其景深相對應的屏幕之上,達到了三維立體顯示的效果。其裝置實物圖如圖12所示。本顯示系統已經具備了三維顯示的要素,投影成像清晰穩定,屏幕的切換速度達到要求,開態與關態的對比明顯,屏幕間的時序合理;算法也能夠正確的提取景深。但因其尚在試驗階段,尚有許多提升的空間,以待后續的研究進展去完善之。
作者:劉暢蔡虹宇魏天音游望秋夏軍單位:東南大學電子科學與工程學院