[發明專利]沉浸式主動立體投影透視變換矩陣求解方法有效
| 申請號: | 201710584647.7 | 申請日: | 2017-07-18 |
| 公開(公告)號: | CN107580203B | 公開(公告)日: | 2019-01-15 |
| 發明(設計)人: | 張超;韓成;楊帆;蔣振剛;權巍;李華;丁瑩;胡漢平;薛耀紅;翟宏宇;徐春鳳 | 申請(專利權)人: | 長春理工大學 |
| 主分類號: | H04N9/31 | 分類號: | H04N9/31;G06T5/00 |
| 代理公司: | 吉林長春新紀元專利代理有限責任公司 22100 | 代理人: | 王薇 |
| 地址: | 130022 吉林省長春市*** | 國省代碼: | 吉林;22 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 沉浸 主動 立體 投影 透視 變換 矩陣 求解 方法 | ||
1.沉浸式主動立體投影透視變換矩陣求解方法,包括攝像機、投影機、計算機、投影幕;其中攝像機通過電纜與計算機進行連接,投影機通過電纜與計算機進行連接;其特征在于具體的實現步驟如下:
步驟1、利用計算機中生成一幅特征圖像,該特征圖像的分辨率為1024×768像素,特征圖像的背景顏色值為(255,255,255),以特征圖像的像素位置(512,384)為中心,30個像素為半徑生成一個圓形,稱為中心圓形特征圖案,中心圓形特征圖案的圓心用pro_B1表示,pro_B1的坐標用(pro_BX1,pro_BY1)表示,中心圓形特征圖案的顏色值為(0,0,0);分別以特征圖像的像素位置(256,192)、(256,575)、(767,192)、(767,575)為中心,30個像素為半徑生成四個圓形,統稱為內層圓形特征圖案環,內層圓形特征圖案環中四個圓形的圓心分別用pro_B2、pro_B3、pro_B4、pro_B5表示,pro_B2的位置坐標用(pro_BX2,pro_BY2)表示,pro_B3的位置坐標用(pro_BX3,pro_BY3)表示,pro_B4的位置坐標用(pro_BX4,pro_BY4)表示,pro_B5的位置坐標用(pro_BX5,pro_BY5)表示,內層圓形特征圖案環中四個圓形的顏色值都為(0,0,0);分別以特征圖像的像素位置(128,96)、(128,671)、(895,96)、(895,671)為中心,30個像素為半徑生成四個圓形,統稱為中層圓形特征圖案環,中層圓形特征圖案環中四個圓形的圓心分別用pro_B6、pro_B7、pro_B8、pro_B9表示,pro_B6的位置坐標用(pro_BX6,pro_BY6)表示,pro_B7的位置坐標用(pro_BX7,pro_BY7)表示,pro_B8的位置坐標用(pro_BX8,pro_BY8)表示,pro_B9的位置坐標用(pro_BX9,pro_BY9)表示,中層圓形特征圖案環中四個圓形的顏色值都為(0,0,0);分別以特征圖像的像素位置(15,15)、(15,752)、(1008,15)、(1008,752)為中心,30個像素為半徑生成四個圓形,統稱為外環圓形特征圖案環,外環圓形特征圖案環中四個圓形的圓心分別用pro_B10、pro_B11、pro_B12、pro_B13表示,pro_B10的位置坐標用(pro_BX10,pro_BY10)表示,pro_B11的位置坐標用(pro_BX11,pro_BY11)表示,pro_B12的位置坐標用(pro_BX12,pro_BY12)表示,pro_B13的位置坐標用(pro_BX13,pro_BY13)表示,外環圓形特征圖案環中四個圓形的顏色值都為(0,0,0);
步驟2、將攝像機放置于投影幕的前方,使攝像機拍攝視野范圍包含全部投影幕,投影幕的寬度用scr_width =2.45米,高度用scr_height =1.84米,依據公式
scr_width:scr_height=R
計算投影幕的寬高比值R;投影機投射一副純白圖像到投影幕上,攝像機采集投影幕上的圖像,利用opencv2.4.10中的cvFindContours函數對采集的圖像進行輪廓檢測,得到投影幕的輪廓區域;設投影機的屏幕比例為P(本發明取值P=4:3),如果R>P,則以投影幕的高度scr_height為基準,利用公式
pro_width=P * scr_height
對投影幕的輪廓區域中的橫向長度進行大小縮放,得到pro_width,則投影機的可視區域為pro_width×scr_height;如果R≤P,則以投影幕的寬度scr_width為基準,利用公式
pro_heightt= scr_width/P
對投影幕的輪廓區域中的縱向長度進行大小縮放,得到pro_height,則投影機的可視區域為scr_width×pro_height;
步驟3、保持攝像機1的位置不變,利用投影機將上述生成的特征圖像投影到投影幕上,至少需要保證特征圖像中的中心圓形特征圖案、內層特征圖案環、中層特征圖案環在投影幕上顯示,利用攝像機采集投影幕上的圖像,得到幾何畸變的特征圖像,設其分辨率為pixel_h×pixel_v =2048×1536;
步驟4、利用opencv2.4.10中的cvThreshold函數對幾何畸變的特征圖像進行二值化處理,然后利用opencv2.4.10中的Canny函數進行邊緣檢測,得到邊緣檢測圖像,最后利用opencv2.4.10中的cvFitEllipse2函數進行橢圓擬合,得到幾何畸變的特征圖像中所有橢圓的圓心,這些圓心稱為幾何畸變的特征圖像的特征點;
步驟5、在pro_B1、pro_B2、pro_B3、pro_B4、pro_B5、pro_B6、pro_B7、pro_B8、pro_B9、pro_B10、pro_B11、pro_B12、pro_B13中,需找與位置坐標(pixel_h/2,pixel_v/2)最近的一個圓心,用cam_A1表示,camA1的位置坐標用(cam_AX1,cam_AY1)表示,cam_A1與pro_B1為一對特征點對;
步驟6、在幾何畸變的特征圖像中,以cam_A1為起始點,沿著像素點(0,0)構成的直線方向,第一個搜索到的特征點用cam_A2表示,其坐標值用(cam_AX2,cam_AY2)表示,cam_A2與pro_B2構成一對特征點對;以cam_A1為起始點,沿著像素點(0,pixel_v)構成的直線方向,第一個搜索到的特征點用cam_A3表示,其坐標值用(cam_AX3,cam_AY3)表示,cam_A3與pro_B3構成一對特征點對;以cam_A1為起始點,沿著像素點(pixel_h,0)構成的直線方向,第一個搜索到的特征點用cam_A4表示,其坐標值用(cam_AX4,cam_AY4)表示,cam_A4與pro_B4構成一對特征點對;以cam_A1為起始點,沿著像素點(pixel_h、pixel_v)構成的直線方向,第一個搜索到的特征點用cam_A5表示,其坐標值用(cam_AX5,cam_AY5)表示,cam_A5與pro_B5構成一對特征點對;
以cam_A2為起始點,沿著像素點(0,0)構成的直線方向,第一個搜索到的特征點用cam_A6表示,其坐標值用(cam_AX6,cam_AY6)表示,cam_A6與pro_B6構成一對特征點對;以cam_A3為起始點,沿著像素點(0,pixel_v)構成的直線方向,第一個搜索到的特征點用cam_A7表示,其坐標值用(cam_AX7,cam_AY7)表示,cam_A7與pro_B7構成一對特征點對;以cam_A4為起始點,沿著像素點(pixel_h,0)構成的直線方向,第一個搜索到的特征點用cam_A8表示,其坐標值用(cam_AX8,cam_AY8)表示,cam_A8與pro_B8構成一對特征點對;以cam_A5為起始點,沿著像素點(pixel_h,pixel_v)構成的直線方向,第一個搜索到的特征點用cam_A9表示,其坐標值用(cam_AX9,cam_AY9)表示,cam_A9與pro_B9構成一對特征點對;
步驟7、定義一維數組Flag,長度為4,類型bool,Flag[i]為數組Flag中的第i+1個元素,i=0,1,2,3;在幾何畸變的特征圖像中,以cam_A6為起始點,沿著像素點(0,0)構成的直線方向,如果搜索到特征點,那么該特征點用cam_C0表示,其坐標值用(cam_CX0,cam_CY0)表示,Flag[0]的值為1,如果沒有搜索到特征點,那么Flag[0]的值為0;以cam_A7為起始點,沿著像素點(0,pixel_v)構成的直線方向,如果搜索到特征點,那么該特征點用cam_C1表示,其坐標值用(cam_CX1,cam_CY1)表示,Flag[1]的值為1,如果沒有搜索到特征點,那么Flag[1]的值為0;以cam_A8為起始點,沿著像素點(pixel_h,0)構成的直線方向,如果搜索到特征點,那么該特征點用cam_C2表示,其坐標值用(cam_CX2,cam_CY2)表示,Flag[2]的值為1,如果沒有搜索到特征點,那么Flag[2]的值為0;以cam_A9為起始點,沿著像素點(pixel_h,pixel_v)構成的直線方向,如果搜索到特征點,那么該特征點用cam_C3表示,其坐標值用(cam_CX3,cam_CY3)表示,Flag[3]的值為1,如果沒有搜索到特征點,那么Flag[3]的值為0;
步驟8、如果Flag[0]的值為1,則cam_C0與pro_B10構成一對特征點對;如果Flag[1]的值為1,則cam_C1與pro_B11構成一對特征點對;如果Flag[2]的值為1,則cam_C2與pro_B12構成一對特征點對;如果Flag[3]的值為1,則cam_C3與pro_B13構成一對特征點對;
步驟9、依據公式
求解透視變換矩陣H,hij為矩陣H中第i行,第j列的元素,i=1,2,3;j=1,2,3;
其中,cam_AXk(k=1,2…9)與pro_BXk(k=1,2…9)分別為步驟5至步驟6匹配特征點對中對應的X軸坐標,cam_AYk(k=1,2…9)與pro_BYk(k=1,2…9)分別為步驟5至步驟6匹配特征點對中對應的Y軸坐標;而cam_CX0、cam_CX1、cam_CX2、cam_CX3與pro_BX10、pro_BX11、pro_BX12、pro_BX13分別為步驟7至步驟8匹配特征點對中對應的X軸坐標,cam_CY0、cam_CY1、cam_CY2、cam_CY3與pro_BY10、pro_BY11、pro_BY12、pro_BY13分別為步驟7至步驟8匹配特征點對中對應的Y軸坐標;
利用以上步驟可以求解沉浸式主動立體投影透視變換矩陣,利用透視變換矩陣即可實現投影畸變校正,使得觀察者能夠觀看到高沉浸感的投影顯示畫面。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于長春理工大學,未經長春理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710584647.7/1.html,轉載請聲明來源鉆瓜專利網。





