專利名稱:一種基于Kinect設(shè)備的三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換二維坐標(biāo)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種人體識別應(yīng)用領(lǐng)域,具體的說是ー種基于Kinect設(shè)備的三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換ニ維坐標(biāo)的方法。
背景技術(shù):
基于傳統(tǒng)試衣所存有的不足,人們研發(fā)了基于人體影像與虛擬產(chǎn)品圖相結(jié)合的三維立體試衣的方式替代實(shí)體試衣,使購物者可以把自己喜歡的服飾穿戴到模特身上,具體的說是將衣物的圖片與模特影像相組合,方便直觀地看用戶挑選的衣服、鞋帽等搭配效果,直到搭配出用戶自己滿意的風(fēng)格后再買。
現(xiàn)有的的三維立體試衣裝置中,多是先使用Kinect設(shè)備作為其人體識別裝置,從而獲取人體影像信息用于后續(xù)處理。但Kinect設(shè)備所獲取以及輸出的數(shù)據(jù)均是以三維坐標(biāo)為基準(zhǔn)的,不同于三維立體試衣在后續(xù)的數(shù)據(jù)處理、加工中所需要的以ニ維坐標(biāo)為基準(zhǔn)的數(shù)據(jù),故而不能直接用于后續(xù)的數(shù)據(jù)處理。而現(xiàn)有市面上缺少能夠?qū)崿F(xiàn)基于Kinect設(shè)備的三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換ニ維坐標(biāo)的解決方案。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于Kinect設(shè)備的三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換ニ維坐標(biāo)的方法。為實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案包括以下步驟步驟一,通過Kinect設(shè)備獲取人體與其之間所形成的三維空間坐標(biāo)的數(shù)據(jù)信息Joint并將該數(shù)據(jù)保存?zhèn)溆?;步驟ニ,提取Joint中所需處理三維坐標(biāo)點(diǎn)的三維坐標(biāo)數(shù)值,并將該數(shù)據(jù)通過KinectSDK所提供的SkeletonToDepthImage函數(shù)計(jì)算后得到該點(diǎn)在深度圖上的X軸坐標(biāo)值depthX與Y軸坐標(biāo)值depthY ;步驟三,將深度坐標(biāo)depthX 與 depthY 通過 KinectSDK 提供的 GetColorPixelCoordinatesFromDepthPixel函數(shù)計(jì)算得出點(diǎn)在RGB圖中的X軸坐標(biāo)值和Y軸坐標(biāo)值,并保存為 colorX 與 colorY ;步驟四,將colorX 與 colorY代入下列公式中計(jì)算E_colorX = O-(screenHeight/2-(screenHeight^colorX/480. Of))E_colorY = 0+(screenffidth/2-(screenHeight*colorX/480. Of))其中screenHeight與screenWidth為屏幕分辨率的高和寬的像素值,計(jì)算后得到的E_C0l0rX與E_C0l0rY分別是該點(diǎn)三維坐標(biāo)值在該分辨率圖片下的ニ維坐標(biāo)X軸值、Y軸值。本發(fā)明通過上述四個步驟,可快速的將三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換為ニ維坐標(biāo),方便后續(xù)的數(shù)據(jù)加工處理,解決了傳統(tǒng)坐標(biāo)轉(zhuǎn)移時對繁雜運(yùn)算,提高了轉(zhuǎn)換效率。
附圖I是本發(fā)明的工作流程圖,也是摘要用圖。
具體實(shí)施例方式為方便對本發(fā)明的理解,現(xiàn)舉ー實(shí)施例對本發(fā)明作進(jìn)ー步的說明。以三維坐標(biāo)為(90,120,65),RGB長、寬像素值為分別為320、240為例,步驟一,通過Kinect設(shè)備獲取人體與其之間所形成的三維空間坐標(biāo)90、120、65并分別保存。步驟ニ,通過Kinect設(shè)備獲取人體實(shí)時RGB圖像數(shù)據(jù),并將數(shù)據(jù)保存。 步驟三,計(jì)算RGB的長、寬值,并將長設(shè)定為A數(shù)據(jù),寬設(shè)計(jì)為B數(shù)據(jù)并分別保存。步驟四,將獲取的數(shù)據(jù)值計(jì)算,RGB_X= 0-(320/2-90)、RGB_Y = 0+(240/2-120)計(jì)算,得出ニ維坐標(biāo)(-70,O)。
權(quán)利要求
1. 一種基于Kinect設(shè)備的三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換ニ維坐標(biāo)的方法,其特征在于包括以下步驟步驟一,通過Kinect設(shè)備獲取人體與其之間所形成的三維空間坐標(biāo)的數(shù)據(jù)信息Joint并將該數(shù)據(jù)保存?zhèn)溆?;步驟ニ,提取Joint中所需處理三維坐標(biāo)點(diǎn)的三維坐標(biāo)數(shù)值,并將該數(shù)據(jù)通過KinectSDK所提供的SkeletonToDepthImage函數(shù)計(jì)算后得到該點(diǎn)在深度圖上的X軸坐標(biāo)值cbpthX與Y軸坐標(biāo)值cbpthY ;步驟三,將深度坐標(biāo)depthX 與 depthY 通過 KinectSDK 提供的 GetColorPixelCoordinatesFromDepthPixel 函數(shù)計(jì)算得出點(diǎn)在RGB圖中的X軸坐標(biāo)值和Y軸坐標(biāo)值,并保存為colorX與colorY ;步驟四,將 colorX 與 colorY 代入下列公式中計(jì)算E_colorX = O- (screenHeight/2- (screenHeight*colorX/480. Of))E_colorY = 0+(screenffidth/2-(screenHeight*colorX/480. Of))其中screenHeight與screenWidth為屏幕分辨率的高和寬的像素值,計(jì)算后得到的E_colorX與E_colorY分別是該點(diǎn)三維坐標(biāo)值在該分辨率圖片下的ニ維坐標(biāo)X軸值、Y軸值。
全文摘要
本發(fā)明的目的在于提供一種基于Kinect設(shè)備的三維立體試衣應(yīng)用中人體三維坐標(biāo)轉(zhuǎn)換二維坐標(biāo)的方法。為實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案包括以下步驟步驟一,通過Kinect設(shè)備獲取人體與其之間所形成的三維空間坐標(biāo)的數(shù)據(jù)信息Joint并將該數(shù)據(jù)保存?zhèn)溆?;步驟二,提取Joint中所需處理三維坐標(biāo)點(diǎn)的三維坐標(biāo)數(shù)值,并將該數(shù)據(jù)通過KinectSDK所提供SkeletonToDepthImage函數(shù)計(jì)算后得到該點(diǎn)在深度圖上的X軸坐標(biāo)值depthX與Y軸坐標(biāo)值depthY。
文檔編號G06F19/00GK102867111SQ20121030297
公開日2013年1月9日 申請日期2012年8月24日 優(yōu)先權(quán)日2012年8月24日
發(fā)明者黃敏, 程新雅, 馬國權(quán) 申請人:黃敏