專利名稱:多視點(diǎn)立體圖片的合成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種合成多視點(diǎn)立體圖片的方法。
背景技術(shù):
視覺信息是人類感知外部客觀世界的最主要信息來(lái)源。傳統(tǒng)圖像只是一種二維信息的載體,其表現(xiàn)忽略了物體的遠(yuǎn)近位置等深度信息。隨著科學(xué)技術(shù)的飛速發(fā)展,傳統(tǒng)圖像已經(jīng)越來(lái)越不能滿足眾多領(lǐng)域?qū)Α吧疃葘哟巍钡囊?,因此包含三維信息的立體顯示技術(shù)得到了人們的極大關(guān)注。20世紀(jì)90年代,人們將目光投向無(wú)需借助輔助視具就能觀看到立體顯示效果的自由立體顯示技術(shù),并在世界范圍內(nèi)掀起了新一輪立體顯示技術(shù)研究熱潮。所謂立體顯示技術(shù),就是指觀眾無(wú)需借助任何輔助設(shè)備(如偏光眼鏡,頭盔顯示器等),就可以 在較大角度內(nèi)的多個(gè)位置用裸眼自由清晰的觀看到屏幕上的立體圖像。本方法所研究的立體顯示器使用的是基于柱鏡光柵的自由立體顯示技術(shù)。其原理是利用柱透鏡單元的折射作用,引導(dǎo)光線進(jìn)入特定的觀察區(qū),產(chǎn)生對(duì)應(yīng)左右眼的立體圖像對(duì),并最終在大腦的融合下產(chǎn)生立體視覺。由于柱鏡光柵是透射式的,因此利用這種技術(shù)生產(chǎn)的LCD自由立體顯示器的最大優(yōu)點(diǎn)是不遮擋畫面,不影響顯示亮度,立體顯示效果比較好。立體顯示器作為一種新型的顯示設(shè)備,使人機(jī)交互更加直觀,給觀眾帶來(lái)了傳統(tǒng)顯示器所不能比擬的高度臨場(chǎng)感,身臨其境的逼真感覺和無(wú)與倫比的立體視覺享受。隨著微電子技術(shù),光學(xué)技術(shù)和液晶顯示技術(shù)的發(fā)展。立體顯示器將不斷進(jìn)步及實(shí)用化,并在生產(chǎn),生活各領(lǐng)域發(fā)揮獨(dú)特而重要的作用。現(xiàn)有的多視點(diǎn)合成方法主要是基于兩視點(diǎn),四視點(diǎn),八視點(diǎn),九視點(diǎn)等視點(diǎn)值進(jìn)行合成的,不同的視點(diǎn)數(shù)目對(duì)應(yīng)于不同的算法。而本方法可以針對(duì)非整數(shù)視點(diǎn)提出一個(gè)通用的解決方案。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多視點(diǎn)立體圖片的合成方法,以便在非整數(shù)視點(diǎn)情況下進(jìn)行立體圖片合成。該合成方法適用于所有視點(diǎn)情況,計(jì)算速度快,立體效果明顯。本發(fā)明的技術(shù)方案如下一種多視點(diǎn)立體圖片的合成方法,具體包括以下步驟步驟I :設(shè)置片源路徑,輸入要合成的單視點(diǎn)圖片,該圖片為九宮格形式,每個(gè)格子對(duì)應(yīng)一張單視點(diǎn)圖片,圖片大小不限;步驟2 :設(shè)置目標(biāo)圖片的文件保存路徑;步驟3 :設(shè)置目標(biāo)圖片的分辨率;步驟4 :根據(jù)需要設(shè)置視點(diǎn)數(shù)目;步驟5 :設(shè)置傾角,傾角用于計(jì)算像素排布規(guī)律;步驟8 開始進(jìn)行合成運(yùn)算;
步驟9 :開始對(duì)源圖像進(jìn)行處理,生成一個(gè)圖像序列,其原理是將九宮格圖片切割為九個(gè)部分,依次各個(gè)部分的圖片像素并各自生成一幅單視點(diǎn)圖片,然后將9張圖片依次插入一個(gè)圖像列表中;步驟10 :如果源圖片為空,將出現(xiàn)錯(cuò)誤提示;步驟11 :開始合成立體圖片,首先對(duì)圖像列表中的圖片進(jìn)行縮放處理,使每張單視點(diǎn)圖片的像素尺寸符合用戶輸入的分辨率;步驟12 :按目標(biāo)圖片高的像素值對(duì)每一行像素進(jìn)行遍歷,依次計(jì)算每一行的像素排布規(guī)律;步驟13 :按目標(biāo)圖片寬的像素值對(duì)每一個(gè)像素進(jìn)行遍歷,依次計(jì)算一行中每個(gè)像素點(diǎn)的排布規(guī)律;步驟14 :設(shè)v=[fmod(k - 3*l*tan ( 0 ),P)/P] *N,其中v表示該像素點(diǎn)對(duì)應(yīng)源圖像列表中的圖片序號(hào)汰表示該點(diǎn)X軸坐標(biāo);1表示該點(diǎn)y軸坐標(biāo);0表示傾角;P值為輸入的視點(diǎn)個(gè)數(shù);fmod函數(shù)表示取余操作,第一個(gè)參數(shù)為被除數(shù),第二個(gè)參數(shù)為除數(shù),兩個(gè)參·數(shù)都可以為浮點(diǎn)數(shù);N值為9,表示九宮格圖片中的單視點(diǎn)圖片數(shù);步驟15 :求出V值后,對(duì)其進(jìn)行四舍五入,如果其結(jié)果為9,則修改其值為0 ;步驟18 :在每個(gè)像素的位置,取各像素點(diǎn)V值對(duì)應(yīng)的原圖片序列中的圖片的相應(yīng)坐標(biāo)中的像素進(jìn)行填補(bǔ);步驟19 :在完成步驟12、13中的循環(huán)后,各像素所填補(bǔ)的結(jié)果構(gòu)成一幅新的圖片,該圖片即為目標(biāo)立體圖片;步驟21 :將立體圖片以步驟2中指定的格式與路徑保存,如果立體圖片為空或合成失敗,保存時(shí)將會(huì)有錯(cuò)誤提示。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟4中,視點(diǎn)個(gè)數(shù)接受小數(shù)點(diǎn)后四位的浮點(diǎn)數(shù)值。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟5和步驟8之間還包括步驟6 :設(shè)置負(fù)傾角,根據(jù)實(shí)際顯示需要選擇是否以負(fù)傾角形式排布像素,此時(shí),如果用戶選擇了負(fù)傾角,則步驟14中在計(jì)算時(shí),k值需做處理為k2,令k2 = 3*Width - k + I ;Width表示目標(biāo)圖片的寬度像素值,k表示該點(diǎn)的X軸坐標(biāo)。作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟5和步驟8之間還包括步驟7 :設(shè)置逆序,根據(jù)實(shí)際顯示需要選擇是否以逆序形式排布像素,此時(shí),如果用戶選擇了逆序,則對(duì)步驟15中計(jì)算出的V值進(jìn)行處理為v2, V2 = 8 - V。作為本發(fā)明的進(jìn)一步改進(jìn),步驟19和步驟21之間還包括步驟20 :在新窗口中預(yù)覽立體圖片,如果立體圖片為空或合成失敗,預(yù)覽時(shí)將會(huì)有錯(cuò)誤提示。作為本發(fā)明的進(jìn)一步改進(jìn),步驟21后還包括步驟22 :在合成立體圖片的同時(shí),將生成一份文本文檔,用于記錄每張?jiān)磮D片中取到的像素個(gè)數(shù)。作為本發(fā)明的進(jìn)一步改進(jìn),步驟11中,使用圖像處理庫(kù)文件CImg. h中的縮放函數(shù)對(duì)源圖片中的單視點(diǎn)圖片縮放至用于定義的像素尺寸。作為本發(fā)明的進(jìn)一步改進(jìn),步驟12和步驟13中,使用先列后行的順序遍歷目標(biāo)圖片中的所有點(diǎn)的像素。本發(fā)明的有益效果
本發(fā)明提供的用于合成多視點(diǎn)立體圖片的程序,將多個(gè)單視點(diǎn)圖片,根據(jù)需要的視點(diǎn)數(shù)目轉(zhuǎn)換為多視點(diǎn)的立體圖片,計(jì)算過程簡(jiǎn)單,計(jì)算速度快,適用于高速圖像數(shù)字處理,可應(yīng)用于各種立體顯示器。
圖I是本發(fā)明的程序流程圖。
具體實(shí)施例方式參見圖1,多視點(diǎn)立體圖片合成程序,具體包括以下步驟步驟I :設(shè)置片源路徑,輸入要合成的單視點(diǎn)圖片,該圖片為九宮格形式,每個(gè)格子對(duì)應(yīng)一張單視點(diǎn)圖片,圖片大小不限;
步驟2 :設(shè)置目標(biāo)圖片的文件保存路徑,如果不設(shè)置,默認(rèn)保存路徑為片源目錄文件夾下,保存的圖片格式可以為“.bmp” jpg”格式;步驟3 :設(shè)置目標(biāo)圖片的分辨率,默認(rèn)參數(shù)為寬1920像素,高1080像素;步驟4 :設(shè)置視點(diǎn)數(shù),可根據(jù)需要設(shè)置視點(diǎn)數(shù)目,視點(diǎn)個(gè)數(shù)接受小數(shù)點(diǎn)后四位的浮點(diǎn)數(shù)值;步驟5 :設(shè)置傾角,傾角用于計(jì)算像素排布規(guī)律,可將默認(rèn)設(shè)置為30度;步驟6 :設(shè)置負(fù)傾角,可根據(jù)實(shí)際顯示需要選擇是否以負(fù)傾角形式排布像素;步驟7 :設(shè)置逆序,可根據(jù)實(shí)際顯示需要選擇是否以逆序形式排布像素;步驟8:用戶點(diǎn)擊“合成圖片”,開始進(jìn)行合成運(yùn)算,按鈕右側(cè)進(jìn)度條開始顯示運(yùn)算進(jìn)度;步驟9 :開始對(duì)源圖像進(jìn)行處理,生成一個(gè)圖像序列,其原理是將九宮格圖片切割為九個(gè)部分,依次各個(gè)部分的圖片像素并各自生成一幅單視點(diǎn)圖片,然后將9張圖片依次插入一個(gè)圖像列表中;步驟10 :如果源圖片為空,將出現(xiàn)錯(cuò)誤提示;步驟11 :開始合成立體圖片,首先對(duì)圖像列表中的圖片進(jìn)行縮放處理,使每張單視點(diǎn)圖片的像素尺寸符合用戶輸入的分辨率;步驟12 :按目標(biāo)圖片高的像素值對(duì)每一行像素進(jìn)行遍歷,依次計(jì)算每一行的像素排布規(guī)律;步驟13 :按目標(biāo)圖片寬的像素值對(duì)每一個(gè)像素進(jìn)行遍歷,依次計(jì)算一行中每個(gè)像素點(diǎn)的排布規(guī)律;步驟14 :設(shè)v=[fmod(k - 3*l*tan ( 0 ),P)/P] *N,其中v表示該像素點(diǎn)對(duì)應(yīng)源圖像列表中的圖片序號(hào)汰表示該點(diǎn)X軸坐標(biāo);1表示該點(diǎn)y軸坐標(biāo);0表示傾角;P值為輸入的視點(diǎn)個(gè)數(shù);fmod函數(shù)表示取余操作,第一個(gè)參數(shù)為被除數(shù),第二個(gè)參數(shù)為除數(shù),兩個(gè)參數(shù)都可以為浮點(diǎn)數(shù);N值為9,表示九宮格圖片中的單視點(diǎn)圖片數(shù);步驟15 :求出V值后,對(duì)其進(jìn)行四舍五入,如果其結(jié)果為9,則修改其值為0 ;步驟16 :如果用戶選擇了負(fù)傾角,貝U步驟14中在計(jì)算時(shí),k值需做處理為k2,令k2=3*Width - k + I ;Width表示目標(biāo)圖片的寬度像素值,k表示該點(diǎn)的x軸坐標(biāo);步驟17 :如果用戶選擇了逆序,則對(duì)第(15)步驟中計(jì)算出的V值進(jìn)行處理為v2,V2 = 8 - v ;步驟18 :在每個(gè)像素的位置,取各像素點(diǎn)V值對(duì)應(yīng)的原圖片序列中的圖片的相應(yīng)坐標(biāo)中的像素進(jìn)行填補(bǔ);步驟19 :在完成步驟12、13中的循環(huán)后,各像素所填補(bǔ)的結(jié)果構(gòu)成一幅新的圖片,該圖片即為目標(biāo)立體圖片。步驟20 :可在新窗口中預(yù)覽立體圖片,如果立體圖片為空或合成失敗,預(yù)覽時(shí)將會(huì)有錯(cuò)誤提不;步驟21 :將立體圖片以步驟2中指定的格式與路徑保存,如果立體圖片為空或合成失敗,保存時(shí)將會(huì)有錯(cuò)誤提示。步驟22 :在合成立體圖片的同時(shí),將生成一份文本文檔,用于記錄每張?jiān)磮D片中取到的像素個(gè)數(shù),該文檔可供光學(xué)人員研究參考用。
以上所述僅為本發(fā)明創(chuàng)造的較佳實(shí)施例而已,并不用以限制本發(fā)明創(chuàng)造,凡在本發(fā)明創(chuàng)造的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明創(chuàng)造的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種多視點(diǎn)立體圖片的合成方法,其特征在于具體包括以下步驟 步驟I:設(shè)置片源路徑,輸入要合成的單視點(diǎn)圖片,該圖片為九宮格形式,每個(gè)格子對(duì)應(yīng)一張單視點(diǎn)圖片,圖片大小不限; 步驟2 :設(shè)置目標(biāo)圖片的文件保存路徑; 步驟3 :設(shè)置目標(biāo)圖片的分辨率; 步驟4 :根據(jù)需要設(shè)置視點(diǎn)數(shù)目; 步驟5 :設(shè)置傾角,傾角用于計(jì)算像素排布規(guī)律; 步驟8:開始進(jìn)行合成運(yùn)算; 步驟9 :開始對(duì)源圖像進(jìn)行處理,生成一個(gè)圖像序列,其原理是將九宮格圖片切割為九個(gè)部分,依次各個(gè)部分的圖片像素并各自生成一幅單視點(diǎn)圖片,然后將9張圖片依次插入一個(gè)圖像列表中; 步驟10 :如果源圖片為空,將出現(xiàn)錯(cuò)誤提示; 步驟11 :開始合成立體圖片,首先對(duì)圖像列表中的圖片進(jìn)行縮放處理,使每張單視點(diǎn)圖片的像素尺寸符合用戶輸入的分辨率; 步驟12 :按目標(biāo)圖片高的像素值對(duì)每一行像素進(jìn)行遍歷,依次計(jì)算每一行的像素排布規(guī)律; 步驟13 :按目標(biāo)圖片寬的像素值對(duì)每一個(gè)像素進(jìn)行遍歷,依次計(jì)算一行中每個(gè)像素點(diǎn)的排布規(guī)律; 步驟14 :設(shè)v=[fmod(k - 3*l*tan ( 0 ),P)/P] *N,其中v表示該像素點(diǎn)對(duì)應(yīng)源圖像列表中的圖片序號(hào)冰表示該點(diǎn)X軸坐標(biāo);1表示該點(diǎn)y軸坐標(biāo);0表示傾角;P值為輸入的視點(diǎn)個(gè)數(shù);fmod函數(shù)表示取余操作,第一個(gè)參數(shù)為被除數(shù),第二個(gè)參數(shù)為除數(shù),兩個(gè)參數(shù)都可以為浮點(diǎn)數(shù);N值為9,表示九宮格圖片中的單視點(diǎn)圖片數(shù); 步驟15 :求出V值后,對(duì)其進(jìn)行四舍五入,如果其結(jié)果為9,則修改其值為0 ; 步驟18 :在每個(gè)像素的位置,取各像素點(diǎn)V值對(duì)應(yīng)的原圖片序列中的圖片的相應(yīng)坐標(biāo)中的像素進(jìn)行填補(bǔ); 步驟19 :在完成步驟12、13中的循環(huán)后,各像素所填補(bǔ)的結(jié)果構(gòu)成一幅新的圖片,該圖片即為目標(biāo)立體圖片; 步驟21 :將立體圖片以步驟2中指定的格式與路徑保存,如果立體圖片為空或合成失敗,保存時(shí)將會(huì)有錯(cuò)誤提不。
2.根據(jù)權(quán)利要求I所述的多視點(diǎn)立體圖片的合成方法,其特征在于所述步驟4中,視點(diǎn)個(gè)數(shù)接受小數(shù)點(diǎn)后四位的浮點(diǎn)數(shù)值。
3.根據(jù)權(quán)利要求I所述的多視點(diǎn)立體圖片的合成方法,其特征在于所述步驟5和步驟8之間還包括步驟6 :設(shè)置負(fù)傾角,根據(jù)實(shí)際顯示需要選擇是否以負(fù)傾角形式排布像素,此時(shí),如果用戶選擇了負(fù)傾角,則步驟14中在計(jì)算時(shí),k值需做處理為k2,令k2 = 3*Width-k + I ;Width表示目標(biāo)圖片的寬度像素值,k表示該點(diǎn)的x軸坐標(biāo)。
4.根據(jù)權(quán)利要求2或3所述的多視點(diǎn)立體圖片的合成方法,其特征在于所述步驟5和步驟8之間還包括步驟7 :設(shè)置逆序,根據(jù)實(shí)際顯示需要選擇是否以逆序形式排布像素,此時(shí),如果用戶選擇了逆序,則對(duì)步驟15中計(jì)算出的V值進(jìn)行處理為v2,V2 = 8 - V。
5.根據(jù)權(quán)利要求I所述的多視點(diǎn)立體圖片的合成方法,其特征在于步驟19和步驟21之間還包括步驟20 :在新窗口中預(yù)覽立體圖片,如果立體圖片為空或合成失敗,預(yù)覽時(shí)將會(huì)有錯(cuò)誤提不。
6.根據(jù)權(quán)利要求I所述的多視點(diǎn)立體圖片的合成方法,其特征在于步驟21后還包括步驟22:在合成立體圖片的同時(shí),將生成一份文本文檔,用于記錄每張?jiān)磮D片中取到的像素個(gè)數(shù)。
7.根據(jù)權(quán)利要求I所述的多視點(diǎn)立體圖片的合成方法,其特征在于步驟11中,使用圖像處理庫(kù)文件CImg. h中的縮放函數(shù)對(duì)源圖片中的單視點(diǎn)圖片縮放至用于定義的像素尺寸。
8.根據(jù)權(quán)利要求I所述的多視點(diǎn)立體圖片的合成方法,其特征在于步驟12和步驟13中,使用先列后行的順序遍歷目標(biāo)圖片中的所有點(diǎn)的像素。
全文摘要
本發(fā)明公開了一種用于多視點(diǎn)立體圖片的合成方法。即先將輸入的九宮格形式的單視點(diǎn)圖片轉(zhuǎn)化為來(lái)源圖片列表。再根據(jù)輸入的視點(diǎn)數(shù),傾角值,目標(biāo)圖片分辨率,排列順序等參數(shù)結(jié)合光學(xué)公式進(jìn)行計(jì)算,得出每個(gè)像素對(duì)應(yīng)的來(lái)源圖片列表中的像素值。然后將像素按指定順序排列,生成具有立體顯示效果的目標(biāo)圖片。用戶可以根據(jù)實(shí)際顯示的需要對(duì)合成參數(shù)進(jìn)行調(diào)整,并對(duì)合成的結(jié)果進(jìn)行預(yù)覽和保存。其生成的立體圖片在立體顯示器上使用,可給觀眾帶來(lái)真實(shí)的立體感覺。本發(fā)明提供的用于合成多視點(diǎn)立體圖片的程序,將多個(gè)單視點(diǎn)圖片,根據(jù)需要的視點(diǎn)數(shù)目轉(zhuǎn)換為多視點(diǎn)的立體圖片,計(jì)算過程簡(jiǎn)單,計(jì)算速度快,適用于高速圖像數(shù)字處理,可應(yīng)用于各種立體顯示器。
文檔編號(hào)G06T11/00GK102708577SQ201210199608
公開日2012年10月3日 申請(qǐng)日期2012年6月15日 優(yōu)先權(quán)日2012年6月15日
發(fā)明者張春光, 楊中林, 楊青, 王濤, 翟思洪 申請(qǐng)人:中航華東光電有限公司