999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCV、OpenGL與3d Max的個(gè)性穿搭人體模型構(gòu)建

2021-08-18 23:19:36張穎段萌萌康磊葉金中熊露潔
電腦知識(shí)與技術(shù) 2021年18期
關(guān)鍵詞:模型

張穎 段萌萌 康磊 葉金中 熊露潔

摘要:該文基于Android Studio平臺(tái),首先通過(guò)用戶輸入的身材信息和OpenCV對(duì)人體照片的分析,判斷人體身材類型,然后通過(guò)3d Max創(chuàng)建不同人體身材類型的穿搭人體模型,最后通過(guò)OpenGL圖形庫(kù)導(dǎo)入3d Max創(chuàng)建的穿搭人體模型,最終在應(yīng)用程序上實(shí)現(xiàn)個(gè)性化三維虛擬試衣的效果。

關(guān)鍵詞:OpenCV;OpenGL;3d Max;人體模型;虛擬試衣

中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)18-0216-04

開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

Construction of Personalized Wearing Mannequin Based on OpenCV, OpenGL and 3d Max

ZHANG Ying, DUAN Meng-meng, KANG Lei, YE Jin-zhong, XIONG Lu-jie

(College of Engineering and Design, Hunan Normal University, Changsha 410000, China)

Abstract: This paper is based on Android studio platform. Firstly, through the analysis of user's body information and OpenCV on human photos, we can judge the type of human body. Then, we can create different types of wearing mannequins through 3d Max. Then, we can import the wearing mannequins created by 3d Max through OpenGL graphics library. Finally, we can realize the effect of personalized 3D virtual fitting on the application program.

Key words: OpenCV; OpenGL; 3d Max; Manikin; virtual fitting

1 背景

如今的線上購(gòu)物平臺(tái)在展示衣物時(shí)采用的依舊是平面模特試穿的二維圖片,但平面模特的試穿效果有時(shí)并不十分有代入感,導(dǎo)致大家依然難以想象衣物穿在自己身上是什么感覺(jué),難以完成購(gòu)買決策。因此隨著時(shí)代的發(fā)展和互聯(lián)網(wǎng)技術(shù)的更新,一款可以構(gòu)建個(gè)性穿搭人體模型,幫助大家完成虛擬試衣需求的應(yīng)用程序十分有現(xiàn)實(shí)意義,可以有效提升人們關(guān)于衣物是否合適自己的線上購(gòu)物體驗(yàn)[1]。

OpenCV (Open Source Computer Vision Library)是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),可實(shí)現(xiàn)圖像處理和計(jì)算機(jī)視覺(jué)方面的許多通用算法[2]。OpenGL(Open Graphics Library)是美國(guó)高級(jí)圖形和高性能計(jì)算機(jī)系統(tǒng)公司SGI所開(kāi)發(fā)的三維圖形標(biāo)準(zhǔn)庫(kù),可以較好地渲染2D、3D矢量圖形[3]。OpenCV和OpenGL都是可以跨平臺(tái)編程接口,因此可以在Android Studio上流暢使用。3d Max是一款常用的三維動(dòng)畫(huà)制作軟件,具有十分強(qiáng)大的三維建模功能[4],本項(xiàng)目通過(guò)導(dǎo)出OBJ和MTL文件,可以實(shí)現(xiàn)3d Max建模與Android Studio平臺(tái)的完美結(jié)合。

2 實(shí)驗(yàn)過(guò)程

2.1 判斷人體身材類型

判斷人體身材類型的依據(jù)主要有兩部分,一部分是根據(jù)用戶輸入的身高體重信息計(jì)算的BMI值,另一部分是通過(guò)OpenCV識(shí)別人體輪廓,橢圓擬合后計(jì)算出的長(zhǎng)寬比。這就要求用戶提供真實(shí)的身高體重信息,并且提供的照片盡量背景簡(jiǎn)單且穿著貼身,有利于提高判別的精準(zhǔn)度。

通過(guò)OpenCV識(shí)別人體模型主要通過(guò)以下幾步:

1)通過(guò)使用函數(shù)GaussianBlur()對(duì)圖像進(jìn)行高斯濾波去噪[5]。

2)通過(guò)使用函數(shù)cvtColor()將圖像變成灰度圖像。

3)通過(guò)使用函數(shù)threshold()將圖像變成二值化圖像,減少數(shù)據(jù)量,凸顯目標(biāo)輪廓[6]。

4)運(yùn)用形態(tài)學(xué)原理中的開(kāi)運(yùn)算,對(duì)圖像先腐蝕后膨脹,濾除多余毛刺,獲得比較平滑規(guī)整的圖像。如下圖1(a)(b)為兩張清晰的不同體形的人體照片,下圖1(c)(d)為經(jīng)過(guò)前四步圖像處理后的圖片,可以看到圖片的輪廓邊緣比較清晰分明,噪聲清理得比較干凈。

5)使用函數(shù)findContours()查找輪廓,ellipse()畫(huà)出擬合的橢圓并獲得長(zhǎng)寬,如圖1(e)(f)所示。

同時(shí)我們通過(guò)大量實(shí)際操作,將對(duì)圖片的身材判斷和輸出的數(shù)據(jù)進(jìn)行比對(duì),得到結(jié)論如下:

橢圓長(zhǎng)寬比的比值越大,代表人物比例越纖細(xì),比值越小,代表人物比例越粗壯。

當(dāng)輸出的比值結(jié)果小于3時(shí),照片中人物一般處于偏胖的O型。當(dāng)輸出比值結(jié)果大于4時(shí),照片中人物一般處于偏瘦的H型。當(dāng)輸出的比值在3—4之間時(shí),一般屬于身材較為勻稱的X型或A型。

由于單憑照片判斷或許結(jié)論有些偏頗,因此我們根據(jù)用戶輸入的身高體重信息計(jì)算出BMI值,結(jié)合照片識(shí)別的數(shù)據(jù)綜合判斷。BMI(體質(zhì)指數(shù))值=體重(kg)/身高(m)的平方而得。

1)當(dāng)BMI值在18.5-24.9之間時(shí),屬正常范圍。這時(shí)若橢圓長(zhǎng)寬比小于3,則為A型;3-4之間則為X型;4以上則為H型。

2)當(dāng)BMI值大于25時(shí),屬于超重。這時(shí)若橢圓長(zhǎng)寬比小于3,則為O型;大于3,則為A型。

3)當(dāng)BMI值小于18.5時(shí),屬于偏瘦。這時(shí)若橢圓長(zhǎng)寬比小于3,則為A型;大于3,則為H型。

2.2 創(chuàng)建穿搭人體模型

3D人體建模是利用三維軟件構(gòu)建出具有立體感的物體模型,在本次項(xiàng)目中我們采取兩種形式同時(shí)建模,MATLAB和3d Max同時(shí)構(gòu)造人體模型。在年輕女性三維模型的建構(gòu)中,根據(jù)我們需要模型的性質(zhì)、形狀、特點(diǎn)、材質(zhì)我們發(fā)現(xiàn)3d Max功能更齊全,建模效率更高。而對(duì)于服飾模擬,初期預(yù)想是通過(guò)3d Max進(jìn)行服裝建模,但是不能體現(xiàn)面料真實(shí)自然的垂落感,學(xué)習(xí)過(guò)程中發(fā)現(xiàn)CLO Standalone軟件更適合服裝3D的虛擬效果。

1)建立人體模型

本項(xiàng)目的四種人體基本身材模型采用3d Max軟件建造,通過(guò)提取人體的體型及臉部特征點(diǎn)分類計(jì)算三維數(shù)據(jù),并結(jié)合實(shí)際測(cè)量數(shù)據(jù)適當(dāng)調(diào)整,主要提取的人體體型特征有肩圍、臂圍、胸圍、腰圍、臀圍、大腿圍、小腿圍,根據(jù)以上特征將女性體型分為X型,H型,A型和O型。如圖2(a)(b)所示。

①人體頭部模型的建立。利用圓滑命令將初建立的盒子呈圓形狀,利用鏡面對(duì)稱將其刪除一半,將其周圍邊緣化后使其更加光滑,同時(shí)利用擠壓,連接,切割、填充的命令給頭部設(shè)置合適的五官,并對(duì)細(xì)節(jié)特征進(jìn)行提拉、填充。最后采用多邊形網(wǎng)格的方式去將已建造的基礎(chǔ)的三維多邊形低模的點(diǎn)線面進(jìn)行編輯和修改,完成它的一個(gè)逼真的效果,如圖3(a)(b)(c)所示。

②四種基本身材類型的建立。根據(jù)不同身材數(shù)據(jù)設(shè)計(jì)所需構(gòu)建模型數(shù)據(jù)。X型身材線條明顯,俗稱沙漏型身材:肩圍=臀圍=胸圍>腰圍+20cm;H體型體態(tài)勻稱肩圍=臀圍<=20cm+腰圍 胸圍平;A型體型上半身窄,肩寬:肩圍<臀圍5cm以上;O型身材腰圍>胸圍和臀圍5cm以上。對(duì)于上述過(guò)程中已經(jīng)構(gòu)造出的基本X模型,在身高條件一致的情況下,以166cm為標(biāo)準(zhǔn),根據(jù)不同身材的體態(tài)特征去將肩、臀、胸、腰、大小腿的圍度在3d Max中對(duì)標(biāo)準(zhǔn)模采取擠壓、縮放、移動(dòng)的命令來(lái)繪制模型。X模型計(jì)算特征數(shù)據(jù)時(shí)將人體剖面看作橢圓形計(jì)算周長(zhǎng),若用a表示橢圓長(zhǎng)半軸的長(zhǎng),b表示橢圓短半軸的長(zhǎng)(a>b>0),則根據(jù)橢圓周長(zhǎng)定理,橢圓周長(zhǎng)公式:為L(zhǎng)=2πb+4(a-b) 身體的圍度利用公式求得。在3d Max測(cè)量中,找到肩部外邊的最凸點(diǎn)圍繞一圈,人模的體態(tài)保證雙臂下垂,抬頭挺胸,胸圍采取胸部最高處圍成一圈,腰圍以及臀圍腿圍的測(cè)量同理找到最凹或最凸點(diǎn)圍繞一圈去測(cè)量,形如下圖4(a)(b)(c)(d)所示。

2)虛擬服飾模擬

四種身材模型進(jìn)行打包后利用CLD Standalone軟件進(jìn)行服裝3D的制作。根據(jù)服裝尺碼數(shù)據(jù)通過(guò)富怡CAD軟件制作服裝裁片導(dǎo)出DXF格式,導(dǎo)入要模擬貼合的服裝裁片DXF文件(如圖5(a))進(jìn)行縫合,如圖5(b);然后進(jìn)行模擬,如圖5(c);進(jìn)行面料預(yù)設(shè)和渲染效果,如圖5(d)。

最后再導(dǎo)入3d Max內(nèi)進(jìn)行材質(zhì)的貼圖和渲染,對(duì)人體模型的膚色采取RGB248 197 183在材質(zhì)編輯器中雙擊漫反射去修改,選中整個(gè)物體將其添加編輯器進(jìn)行UVW展開(kāi),期間要將模型的位置進(jìn)行調(diào)整,頭部XYZ軸分別為1.1、7.0、0.0。頭與腳的距離為14.0;左右和右手的距離為5.0,人模位置需要與Z軸平行,垂直于X\Y軸,如圖6(a)(b)(c)所示。

2.3 導(dǎo)入穿搭人體模型

模型展示在Android Studio[7]中的實(shí)現(xiàn),需要OBJ文件及MTL文件同時(shí)讀取,并創(chuàng)建兩個(gè)實(shí)體類分別保存文件信息。代碼解析OBJ文件和MTL文件過(guò)程中,將OpenGL紋理貼圖映射到Android Studio中,在OpenGL自己的線程中調(diào)用相關(guān)api,對(duì)所繪制的實(shí)體類進(jìn)行渲染。渲染前后對(duì)比如圖7(a)(b)所示。

2.4 App界面展示

3 總結(jié)

本文主要研究了基于OpenCV、OpenGL與3d Max的個(gè)性穿搭人體模型構(gòu)建,主要完成了以下幾方面的工作:

1)通過(guò)用戶個(gè)人數(shù)據(jù)及OpenCV識(shí)別人體輪廓,從而簡(jiǎn)單判定用戶身材類型;

2)應(yīng)用3d Max構(gòu)建人體模型及貼圖、渲染;

3)應(yīng)用CLD Standalone進(jìn)行虛擬服飾模擬;

4)在Android Studio中實(shí)現(xiàn)3D模型的導(dǎo)入及展示。

本款A(yù)pp的設(shè)計(jì)還存在功能不夠完善、數(shù)據(jù)庫(kù)較小的問(wèn)題。綜合看來(lái),可以基本實(shí)現(xiàn)對(duì)年輕女性不同身材的判定及服飾的展示。

參考文獻(xiàn):

[1] 徐俊,普?qǐng)@媛,徐丹,等.基于款式變換和局部渲染相結(jié)合的虛擬試衣研究[J].太原理工大學(xué)學(xué)報(bào),2021,52(1):98-104.

[2] 蔣丹妮,史瑞鵬,方青.基于OpenCV和OpenGL的720°全景場(chǎng)景構(gòu)建方法研究[J].測(cè)繪與空間地理信息,2021,44(2):68-72,76.

[3] 呂珍,謝倩,祝雙武,等.OpenGL 導(dǎo)入3DS 模型模擬服裝試穿[J].西安工程大學(xué)學(xué)報(bào),2014,28(4):440-444.

[4] 李懷功.關(guān)于3Dmax建模的方法分析和技巧探討[J].電腦知識(shí)與技術(shù),2017,13(21):128-129.

[5] 張藝,匡毅,王梅,等.基于OpenCV的人體輪廓檢測(cè)算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2020,30(8):81-85.

[6] 王甜.基于OpenCV在Android移動(dòng)終端的圖形識(shí)別[J].電子制作,2020(23):63-65.

[7] 葉紀(jì)委.適于移動(dòng)端的三維鞋款選配展示App開(kāi)發(fā)與實(shí)現(xiàn)[D].西安:陜西科技大學(xué),2017.

【通聯(lián)編輯:謝媛媛】

猜你喜歡
模型
一半模型
一種去中心化的域名服務(wù)本地化模型
適用于BDS-3 PPP的隨機(jī)模型
提煉模型 突破難點(diǎn)
函數(shù)模型及應(yīng)用
p150Glued在帕金森病模型中的表達(dá)及分布
函數(shù)模型及應(yīng)用
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 麻豆精品国产自产在线| 日韩中文字幕免费在线观看| 91在线国内在线播放老师| 国产精品久久自在自2021| 亚洲成人免费看| 国产尤物在线播放| 国产成人高清精品免费5388| 香蕉精品在线| 亚洲中文字幕在线精品一区| 亚洲成人手机在线| 99热这里只有精品免费国产| 丁香六月激情综合| 亚洲精品欧美日本中文字幕| 欧美高清日韩| 亚亚洲乱码一二三四区| 欧美日韩中文国产va另类| 男女男免费视频网站国产| 国产美女一级毛片| 国产99热| 亚洲天堂视频在线观看免费| 91口爆吞精国产对白第三集| 亚洲熟女中文字幕男人总站| 成年人国产网站| 久久久久中文字幕精品视频| 亚洲高清在线天堂精品| 欧美一级黄色影院| 国产欧美日韩在线在线不卡视频| 日韩人妻少妇一区二区| 曰韩免费无码AV一区二区| 国产毛片不卡| 亚洲AV成人一区二区三区AV| 永久天堂网Av| 亚洲精品无码久久久久苍井空| 午夜三级在线| 欧美日韩免费| 欧美v在线| 欧美精品二区| 久久久久久久97| 亚洲av日韩综合一区尤物| 亚洲欧美成人在线视频| 18禁高潮出水呻吟娇喘蜜芽| 99在线观看视频免费| 国产va在线观看| 亚洲色婷婷一区二区| 久久精品国产精品国产一区| 欧美中日韩在线| 日韩 欧美 小说 综合网 另类| 日本在线亚洲| 欧美亚洲欧美区| 中文无码日韩精品| 国产一级毛片网站| 91蝌蚪视频在线观看| 欧美国产综合视频| 国产情精品嫩草影院88av| 日韩黄色大片免费看| 国产青青操| 无码粉嫩虎白一线天在线观看| 欧美一道本| 久视频免费精品6| 久久这里只有精品23| 人妻精品久久无码区| 国产一二视频| 91娇喘视频| 嫩草影院在线观看精品视频| 天堂va亚洲va欧美va国产| 在线观看精品国产入口| 成年人国产网站| 91蜜芽尤物福利在线观看| 国产极品美女在线| 中文国产成人精品久久| 少妇高潮惨叫久久久久久| 一级成人a毛片免费播放| 一级毛片高清| 99精品国产电影| 伊在人亚洲香蕉精品播放| 天天做天天爱天天爽综合区| 国产亚洲一区二区三区在线| 嫩草国产在线| 中文字幕亚洲精品2页| 久久99国产乱子伦精品免| 九色综合伊人久久富二代| 国产在线视频欧美亚综合|