• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenCV飛機模型外部涂裝和標記的方法探析

      2023-08-26 07:07:08童安科杜文哲郭青婷張紫軒隋佳岐徐嘉誠張興媛
      電腦知識與技術 2023年21期
      關鍵詞:民用飛機

      童安科 杜文哲 郭青婷 張紫軒 隋佳岐 徐嘉誠 張興媛

      關鍵詞:民用飛機;外部涂裝和標記;blender

      中圖分類號:TP391 文獻標識碼:A

      文章編號:1009-3044(2023)21-0091-03

      0 引言

      飛機外部涂裝和標記對飛機有著保護識別作用。飛機涂裝從早期在機身簡單涂上機油,防止潮濕腐蝕到現(xiàn)在幾十人團隊半個月時間高達上百萬的費用的涂裝流程。飛機涂裝能在各種天氣下保護飛機,防腐蝕、防輻射、防冰、防雨耐磨、延長飛機的使用壽命,增強性能,提高飛機維修性。在外觀方面,設計美觀的涂裝可以提高航空公司的知名度,增加營收,在一些紀念日的定制涂裝更有著特殊意義。

      在過去的研究中,關于飛機涂裝定位,文獻[1]提出傳統(tǒng)的基于二維CAD飛機外部涂裝和標記,在實際施工時,由于二維圖紙的限制,無法反映在飛機曲面上的真實尺寸,標記的定位最終要依賴于現(xiàn)場對飛機進行測量,極大地降低了施工的效率。飛機外部天線,傳感器等不能噴漆區(qū)域在二維圖紙上沒有很好的反映,無法準確判斷涂裝是否影響了該區(qū)域。

      三維模型對比二維圖紙有著很大的優(yōu)勢。設計師可以提前預覽涂裝后的效果,調(diào)整涂裝設計,加快了設計進度。三維模型標記解決了二維圖紙無法真實反映實際尺寸的問題,使得涂裝標記的定位尺寸更加精確,提高了噴漆施工效率。

      1 外部涂裝和標記原理

      UV是二維紋理坐標,帶有多邊形和曲面網(wǎng)格的頂點信息。用于定義二維紋理坐標系的稱為“UV 紋理空間”。UV 紋理空間使用字母 U 和 V 來指示二維空間中的軸[2]。UV 紋理空間有助于將圖像紋理貼圖放置在 3D 曲面上。由UV得出的模型紋理貼圖的坐標(u,v) 與模型曲面網(wǎng)格(x,y,z) 坐標一一對應,紋理貼圖可以很好地反映飛機曲面上的涂裝和標記信息,通過對UV紋理貼圖坐標的獲取,可以制作出噴漆時飛機外表面的遮罩的位置與尺寸,定位涂裝坐標。

      UV在紋理貼圖映射到 3D 曲面網(wǎng)格之間產(chǎn)生關聯(lián),也就是坐標一一對應,將紋理貼圖應用于飛機模型,貼圖保存了飛機曲面網(wǎng)格信息,模型既可以展示實際飛機涂裝之后的效果,又可以反映外部涂裝與標記在真實飛機曲面上的位置與尺寸,解決了二維圖紙無法真實反映實際尺寸的問題,提高了涂裝標記的定位尺寸的精度。

      本次研究的目的就是得出紋理貼圖和對應的應用了涂裝的飛機模型。

      2 模型處理

      2.1 飛機模型導入

      把所需型號的飛機模型導入3D處理軟件(比如3Dmax,blender),測量機身,機翼,尾翼等數(shù)據(jù)與標準尺寸對比,確定模型大小合適。

      對模型多余的部分刪除(比如內(nèi)部裝飾,座位等),不合理的布線進行調(diào)整。

      1) 提高模型的面數(shù),盡量把面轉(zhuǎn)為四邊面。三邊面會導致UV映射時縫合邊不在一條直線上,使得UV 映射不對稱,貼圖的拉伸變形。

      2) 對于不合理的邊與邊,點與點進行合并。合并可以消除多余的邊和點,使模型更加精確;看起來更加簡潔,提高可讀性;渲染引擎更容易處理。首先批量合并,按間距合并,一般距離選擇大于0.001m即可(根據(jù)模型具體尺寸調(diào)整);其次對于模型精度要求高或者邊的法線方向差距過大的區(qū)域應手動合并;合并時注意網(wǎng)格密度,如果網(wǎng)格密度過低,則可能會導致模型表面不平滑,貼圖變形。

      3) 窗戶接縫處的線多而且復雜,如果涂裝設計對于此處沒有要求,在不影響布線的情況下可以刪除,減小對UV映射的影響。

      2.2 UV 映射

      UV映射是在三維建模中將2D圖像投影到3D表面以進行紋理映射的過程,UV 作為標記點,用于控制紋理貼圖上的點與網(wǎng)格上的點對應。

      1) 根據(jù)拿到的飛機涂裝設計圖(一般是三視圖)確定第一個UV 圖(如圖1)的展法(一般是側(cè)視圖投影)。

      2) 根據(jù)飛機涂裝設計的元素的復雜程度,分布位置,數(shù)量等確定第二個UV圖(如圖2)的展法。添加縫合邊時要考慮:

      ①UV映射應該保持紋理圖像的比例。如果UV 映射使得紋理圖像拉伸或壓縮,那么模型的外觀就會變得不真實。

      ②盡量避開在涂裝元素復雜的地方添加縫合邊。

      ③盡量把縫合邊添加在涂裝簡單或者不容易看見的地方,減少貼圖調(diào)整工作量。

      3) 展UV時要注意:

      ①盡量使UV點的連接是連續(xù)的并且應盡量保證UV點的密度均勻,使UV映射的質(zhì)量更高,同時紋理圖像的質(zhì)量也更高。

      ②使用規(guī)則的UV布局,可以更方便地編輯UV映射,并且可以有效地利用紋理圖像的空間。

      3 貼圖處理

      3.1 三視圖批量轉(zhuǎn)換紋理貼圖插件

      1) 功能介紹

      涂裝設計圖(一般是三視圖)通常用于展示設計元素的效果,但是并不能用于描述物體的表面細節(jié),無法反映在飛機曲面上的真實尺寸,是無法直接應用于飛機涂裝。

      本次步驟是將三視圖轉(zhuǎn)換為飛機模型UV對應的紋理貼圖,便于應用到飛機模型。

      以往的轉(zhuǎn)換貼圖操作是手動將三視圖導入Blender,調(diào)整位置,用Blender中的Texture Paint功能將第一張UV上的元素(一般為側(cè)視圖(如圖3)) 映射到第二張UV 上,得到第二張圖,這個過程重復且耗時。

      2) 插件編寫

      blender提供的Python API,可以將一些重復性的操作,通過編寫插件調(diào)用相關功能自動,批量執(zhí)行。Blender插件的開發(fā)采用面向?qū)ο蟮姆绞健lenderPy?thon API[3]通過預置類提供對插件功能的整合與擴展。用戶通過創(chuàng)建子類來繼承父類中定義的屬性和方法, 它們實現(xiàn)了與Blender程序間的交互接口。Blender對于貼圖轉(zhuǎn)換插件所涉及的材質(zhì)創(chuàng)建、連接節(jié)點、調(diào)用烘焙,Texture Paint等操作都提供有相應的API[4]。

      3) 插件基本結(jié)構(gòu)

      ①導入模塊:導入所需要的庫如BPY,便于訪問飛機模型數(shù)據(jù),調(diào)用Blender內(nèi)的功能。

      ②界面UI:提供選擇飛機模型,UV圖,涂裝設計圖,導出圖紙等選項。

      ③功能模塊:

      根據(jù)用戶選擇的飛機模型新建對應材質(zhì),將UV 圖(如圖1) 和涂裝設計圖(如圖3) 作為第一個材質(zhì)的UV圖和紋理貼圖。

      然后用戶根據(jù)需求選擇第二個UV圖(如圖2) ,將第一個材質(zhì)的紋理貼圖作為圖像克隆源、UV圖作為UV克隆源,第二個UV圖作為輸出材質(zhì)的UV圖,調(diào)用TextPaint功能,輸出第二個材質(zhì)的紋理貼圖(如圖4) 。

      4) 插件實現(xiàn)功能

      3.2 貼圖變形元素替換

      3.2.1 功能介紹

      Blender處理后的貼圖雖然可以對應模型UV圖,但由于是側(cè)視圖轉(zhuǎn)換而得,部分涂裝元素發(fā)生了變形,本次步驟是將這些變形的元素替換成未變形元素。

      3.2.2 貼圖識別與替換

      1) OpenCV模板匹配原理

      模板匹配是在較大圖像(源圖像)中搜索和查找模板圖像位置的方法。OpenCV 提供一個函數(shù)cv2.matchTemplate() 。在源圖像中從左到右和從上到下依次滑動模板[5],計算模板與(圖像被模板覆蓋的地方)的匹配程度,在每一個位置(x , y)都計算出一個指標以表明這個位置處兩個圖像塊之間匹配程度的高低。這匹配程度高低的計算方法在OpenCV 里有6 種,然后將每次計算的結(jié)果放入一個矩陣R里,作為結(jié)果輸出。假如源圖像是M x N大小,而模板圖像是m x n大小,則輸出結(jié)果的結(jié)果矩陣R是(M-m+1)x(Nn+1)。獲得結(jié)果后,可以使用cv2.minMaxLoc() 函數(shù)查找最大/最小值在哪里。將其作為矩形的左上角,并以(m,n) 作為矩形的寬度和高度。

      3.2.3 具體實現(xiàn)(以熊貓圖(如圖5) 為例)

      1) 將源圖像(blender處理后的紋理貼圖(如圖4)) 根據(jù)涂裝元素的分布進行分割提取,每一小部分(如圖5) 作為模板圖像在源圖像匹配,或者也可以將未變形的涂裝元素相同分割提取作為模板圖像(如圖6) 。

      通過上述計算得到最佳匹配的位置,作為矩形的左上角,并以模板圖像寬高(m,n) 作為矩形的寬度和高度,計算出矩形左下角,右上角,右下角的位置(如圖7)。

      2) 根據(jù)源圖像分割涂裝元素的寬度和高度以及位置,對未變形的涂裝元素(涂裝設計圖)相同分割提取得到替換圖像(如圖6) 。

      3) 根據(jù)第一步得到的位置信息,對源圖像與替換圖像進行疊加(如圖8)。

      4) 對每個模板圖像重復上述操作,得到最終未變形貼圖(如圖9) 。

      5) 在實際操作中如果原模板圖像識別效果不好,可以將替換圖像(如圖5) 作為模板圖像進行識別。

      4 結(jié)束語

      經(jīng)過blender和OpenCV處理后的紋理貼圖對比三視圖在變形方面更小,可以更好地反映涂裝和標記在真實飛機上的尺寸。飛機的三維模型可以呈現(xiàn)飛機外部涂裝和標記的定位尺寸。結(jié)合貼圖和飛機模型給出的定位尺寸和位置信息,避免以往在實物飛機上確認優(yōu)化圖紙的步驟,提高施工效率。不足是該方法對于復雜的涂裝設計圖,圖像識別的精度有待提高,需要進一步優(yōu)化識別算法。

      猜你喜歡
      民用飛機
      民用飛機零件的熱處理制造符合性檢查
      民用飛機設計與研究簡介
      民用飛機機載跑道入侵預警系統(tǒng)仿真驗證
      民用飛機吊掛指形罩鳥撞分析
      民用飛機全生命周期KPI的研究與應用
      民用飛機設計與研究簡介
      一種新的民用飛機維修性分配方法
      民用飛機固定式應急定位發(fā)射系統(tǒng)設計
      民用飛機設計與研究簡介
      民用飛機飛行操作程序的開發(fā)和驗證
      呼玛县| 台州市| 垣曲县| 高平市| 柳林县| 鄂托克前旗| 齐河县| 碌曲县| 扎赉特旗| 佳木斯市| 温宿县| 卢湾区| 城步| 佛冈县| 芜湖市| 包头市| 海原县| 油尖旺区| 新营市| 镇安县| 全南县| 公主岭市| 怀安县| 洛浦县| 鲁甸县| 阆中市| 华宁县| 富宁县| 定边县| 石城县| 司法| 琼海市| 开化县| 平武县| 永州市| 象山县| 姚安县| 金沙县| 福安市| 泾阳县| 安阳市|