本發(fā)明屬于圖形圖像處理領(lǐng)域,特別是涉及一種三維模型與照片融合方法。
背景技術(shù):
一直以來,在建設(shè)工程領(lǐng)域,都是利用效果圖對建設(shè)工程建行效果展示,使規(guī)劃管理者、民眾對建設(shè)工程的效果和影響有了初步的認識。但效果圖存在工程形態(tài)不夠精細、工程周邊僅為示意性、不真實、效果圖視角單一等問題。近年,三維仿真技術(shù)逐漸在建設(shè)工程方案展示中得到應(yīng)用,通過建立工程方案的三維模型,并補充建設(shè)周邊現(xiàn)狀模型,實現(xiàn)對建設(shè)工程及周邊的模擬展示。但隨著近年城鄉(xiāng)規(guī)劃等管理工作的精細化管理要求,手工建設(shè)的三維模型存在的問題開始突顯,主要包括三維模型與現(xiàn)實世界存在色彩差異較大、工程的紋理、材質(zhì)表現(xiàn)與現(xiàn)實不一致、地面細節(jié)環(huán)境不真實等問題,從而導致建設(shè)工程在三維仿真場景中進行展示時,不能完全反映建設(shè)工程建成后的效果,導致工程實施效果達不到真正管理的目的。此外,三維仿真模型還存在兩個問題,一是用于建設(shè)周邊現(xiàn)狀城市建模的費用也較高,一般可達到10余萬元每平方公里,從而導致利用三維仿真開展建設(shè)工程方案審查成本高;二是三維仿真對計算機的計算性能、圖形展示性能要求較大,難以在互聯(lián)網(wǎng),尤其是當前最為流行的移動互聯(lián)網(wǎng)設(shè)備上進行展示,極大限制了其應(yīng)用范圍。
全景圖像是利用一個地點覆蓋周邊360度及頭頂、腳底的多張照片拼接形成的,可模擬一個觀察者在該位置看到的前后左右及上下的真實世界,全景照片因制作成本低、效果真實、可在瀏覽器和移動端展示等特點,在城市展示、旅游宣傳等領(lǐng)域得到了廣泛的應(yīng)用。全景圖像利用照片制作,具有場景真實、色彩真實、細節(jié)豐富等特點,這些特點正好補足了三維仿真技術(shù)的問題。利用無人機等輔助工具,全景圖像也能從地面、空間等多視角對城市進行展示,可解決建設(shè)工程效果圖視角單一的問題。但照片和全景地圖目前針對的都是現(xiàn)實場景,與建設(shè)工程的模型進行融合難度較大,因此難以在建設(shè)工程方案設(shè)計、審查階段開展應(yīng)用。
可見,利用現(xiàn)實照片的優(yōu)勢,可以很好的補充三維仿真技術(shù)中存在的問題,各自存在優(yōu)缺點,將兩者結(jié)合成為必須趨勢。當前,將虛擬世界與現(xiàn)實世界進行整合的技術(shù),一般叫做現(xiàn)實增強(augmentedreality,簡稱ar),可以實現(xiàn)將各種虛擬物體疊加到視頻、照片中。由于通過攝像頭、照片等獲取的圖像,圖像中的各類物體不具備空間位置,因此,ar僅能做到將圖像進行覆蓋疊加,無法體現(xiàn)前、后關(guān)系,一般用于游戲、場景展示等工作中,難以應(yīng)用到建設(shè)工程審查等需要進行精確空間關(guān)系表達的工程建設(shè)領(lǐng)域。也有部分效果圖通過將建設(shè)工程的效果與現(xiàn)實照片進行整合,通過photoshop等圖像處理軟件進行人工合成,但一方面只能從圖像中手工提取建設(shè)工程輪廓,容易造成輪廓部分缺失(過度剔除)、產(chǎn)生多余的非建設(shè)工程部分(過度保留)或產(chǎn)生多余空洞(誤刪除)等情況,工作量大,且影響最終合成效果;另一方面,由于沒有空間定位,只能依靠人工判斷現(xiàn)實中的物體與待建工程的空間位置關(guān)系,不僅工作量大,容易存在前后關(guān)系錯亂的問題,并且現(xiàn)實物體和建設(shè)工程在體量(長、寬、高)上的關(guān)系也與實際情況不一致,
因此應(yīng)用效果較差。
技術(shù)實現(xiàn)要素:
有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種效果更好的三維模型與照片融合方法。
為實現(xiàn)上述目的,本發(fā)明提供了一種三維模型與照片融合方法,其特征是按以下步驟進行:
步驟s1、記錄建筑環(huán)境照片的相機參數(shù);
步驟s2、制作建筑工程三維模型,并加載到三維場景中;
步驟s3、設(shè)置三維場景中的虛擬相機參數(shù),輸出三維模型圖像;
步驟s4、混合三維模型圖像與照片,得到混合圖像。
較佳的,所述步驟s1按以下步驟進行:
步驟s11、選擇m個照片拍攝地點;所述m為自然數(shù)且m≥1;
步驟s12、在各拍攝地點獲取n個預設(shè)方位
步驟s13、對拍攝的照片,記錄每張照片的相機參數(shù)cameraparam{x,y,z,ori,pitch,roll,f}
所述x、y、z表示相機坐標;ori為相機方位,且0≤ori<360;pitch為相機俯仰角,且-90≤pitch≤90;roll為相機翻滾角,且-90≤roll≤90;f為鏡頭焦距,為大于0的自然數(shù)。
較佳的,所述步驟s2按以下步驟進行:
步驟s21、制作建筑三維模型;
步驟s22、加載所述建筑三維模型。
較佳的,所示步驟s3包括:
s31、依次對每個照片拍攝地點m,選擇一張建設(shè)工程待建位置居中的照片pc;
s32、利用照片pc對應(yīng)的相機參數(shù),設(shè)置三維場景中虛擬相機的參數(shù),包括位置x、y、z、相機方位ori、相機俯仰角pitch、相機翻滾角roll、相機焦距f;設(shè)置三維場景出圖參數(shù),使圖像長度、寬度與照片pc尺寸一致;
s33、輸出建設(shè)工程三維模型圖像imgt;
s34、逐像素對圖像imgt的顏色進行統(tǒng)計,找出圖像imgt不包含的顏色cn:
s341、構(gòu)建一個數(shù)組colorused{c0,c1,……,cn},用于保存獲取每一像素的rgb顏色值,其中,c為自然數(shù),n為圖像的像素數(shù);
s342、依次獲取圖像的每個像素i的rgb值{ri,gi,bi},計算其對應(yīng)的自然數(shù)顏色ci,存入colorused中;
ci=ri+gi*256+bi*65536;
所述ri、gi、bi為8位rgb顏色的紅、綠、藍分量,0≤ri≤255,0≤gi≤255,0≤bi≤255,0≤ci≤16777215;
s343、對colorused中的自然數(shù),按從小到大進行排序;
s344、從0開始,尋找數(shù)組colorused中第一個不存在的自然數(shù)m,0≤m≤16777215,并計算圖像不包含的顏色cn的rgb值cn{rn,gn,bn},
s35、設(shè)置三維場景的背景顏色為cn,再次輸出建設(shè)工程三維模型的圖像imgc;
s36、選擇與照片pc位置上相鄰的照片pa,依照步驟s32至s35,利用照片pa對應(yīng)的相機參數(shù)設(shè)置相機位置和出圖大小后,輸出建設(shè)工程三維模型圖像imga。
較佳的,如果數(shù)組colorused包含了所有m的可能值,依次統(tǒng)計colorused中每個值重復的次數(shù),選取重復最少的一個值作為不使用的顏色m,再計算cn;
較佳的,所述步驟s4按以下步驟執(zhí)行:
s41、加載圖像imgc,提取圖像中顏色值不為cn的區(qū)域,該區(qū)域即為建設(shè)工程圖像的輪廓sketch;
s42、利用輪廓sektch提取pc中的部分圖像pcp;
s43、提取圖像pcp中位于建設(shè)工程輪廓sketch前方的部分pcp_front:
s431、依照步驟s41、s42,從圖像imga中提取出建設(shè)工程圖像輪廓sketch_a,利用sketch_a從照片pa中提取出部分圖像pap;
s432、針對圖像imgc、imga利用shif特征點匹配算法,進行特征點匹配,尋找兩張照片中的同名點,得到同名點對fti{(tc1,ta1),(tc2,ta2),……,(tcn,tan)};其中,(tcn,tan)為第n對同名點,表示為(tcn(xcn,ycn),tan(xan,yan)),x、y為同名點在圖像中的坐標;同時按相同方法計算pcp、pap中的同名點對ftp{(tp1,tpa1),(tp2,tpa2),……,(tpn,tpan)};
s433、根據(jù)imgc、imga特征點匹配結(jié)果fti,計算建設(shè)工程模型中最小同名點偏移量mvmin,計算
s434、根據(jù)pcp、pap特征點匹配結(jié)果ftp,計算圖像pcp中各同名點的偏移量,并在圖像pcp上標注各同名點偏移量;
s435、根據(jù)pcp上各同名點偏移量,針對圖像上同名點偏移量小于mvmin的物體,將該物體輪廓提取出來,將所有提取的部分圖像保存為pcp_front;
s44、按從下到上的次序依次疊加pc、sketch和pcp_front,并合并得到混合后的照片pf。
本發(fā)明一方面利用現(xiàn)實世界的照片來反映待建項目周邊的真實環(huán)境,細節(jié)豐富、真實,尤其是建筑、景觀的形態(tài)和顏色,與現(xiàn)實世界保持一致。另一方面,利用三維模型輸出的圖像來反映待建項目的形態(tài)和色彩。最后,通過圖像融合,使模型能與真實世界的環(huán)境融為一體,并從多個視角真實反映項目建成后在現(xiàn)實世界中的真實效果。
較佳的,本發(fā)明還包括混合三維模型圖像與照片得到混合圖像的步驟:
s51、依次對每個照片拍攝地點m,利用混合后的照片pf替換原照片pc;
s52、加載所有照片,生成全景圖像;
s53、發(fā)布全景圖像。
本發(fā)明的有益效果是:本發(fā)明通過查找建筑模型圖像不使用的顏色作為背景色,可以自動、完全、精確提取出建設(shè)工程的形狀輪廓;通過使用與真實相機一致的虛擬相機參數(shù)輸出建設(shè)工程模型圖像,使現(xiàn)實照片與建設(shè)工程模型在圖像中的體量關(guān)系正確、透視一致;基于特征點匹配技術(shù),比較相鄰兩張照片中同名點的位移關(guān)系,可以較好的判斷現(xiàn)實照片中各物體與建設(shè)工程的相對關(guān)系,解決手工操作空間關(guān)系不準確問題;利用全景圖像技術(shù),不僅可以從地面上某個視點對建設(shè)工程進行觀察,還可以從空中等多個角度,全方面反映建設(shè)工程效果;最后,成果還可以全面應(yīng)用在互聯(lián)網(wǎng)、移動端等展示渠道中。本發(fā)明通過三維模型和現(xiàn)實照片的整合,能夠開創(chuàng)性的應(yīng)用在城市重大項目規(guī)劃方案審查、建設(shè)工程未來形象展示、城鄉(xiāng)規(guī)劃和管理、地產(chǎn)商業(yè)宣傳等領(lǐng)域。
附圖說明
圖1是本發(fā)明一具體實施方式的流程示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步說明:
如圖1所示,一種三維模型與照片融合方法,按以下步驟進行:
步驟s1、現(xiàn)場拍攝建筑周邊環(huán)境,并記錄照片相機參數(shù);
步驟s2、制作建筑工程三維模型,并加載到三維場景中;
步驟s3、設(shè)置三維場景中的虛擬相機參數(shù),輸出三維模型圖像;
步驟s4、混合三維模型圖像與照片,得到混合圖像;
步驟s5、利用混合圖像與其他照片,生產(chǎn)全景圖像。
本實施例中,所述步驟s1按以下步驟進行:
步驟s11、根據(jù)建設(shè)工程效果展示需要,選擇m個照片拍攝地點;所述m為自然數(shù)且m≥1;
為更好展示建設(shè)工程效果,所述拍攝地點,有可能在地面,也有可能在空中。一般情況下,地面拍攝地點應(yīng)選擇具有代表性的位置,如主干道、城市廣場、觀景臺等。無論從地面或空中拍攝,拍攝地點應(yīng)根據(jù)建設(shè)工程的占地范圍、高度等,選擇適當?shù)呐臄z距離或相機鏡頭焦距,以保證后續(xù)融合后,建設(shè)工程模型完全包含在照片中。
步驟s12、在各拍攝地點獲取n個預設(shè)方位
步驟s13、對拍攝的照片,記錄每張照片的相機參數(shù)cameraparam;
cameraparam{x,y,z,ori,pitch,roll,f}
所述x、y、z表示相機坐標;ori為相機方位,且0≤ori<360;pitch為相機俯仰角,且-90≤pitch≤90;roll為相機翻滾角,且-90≤roll≤90;f為鏡頭焦距,為大于0的自然數(shù)。
本實施例中,所述步驟s2按以下步驟進行:
步驟s21、通過3dsmax制作建筑三維模型,當然在其他實施例中也可以采用其它三維模型制作軟件;
步驟s22、利用三維模型瀏覽軟件,加載所述建筑三維模型。
本實施例中,所示步驟s3包括:
s31、依次對每個照片拍攝地點m,選擇一張建設(shè)工程待建位置居中的照片pc;
s32、利用照片pc對應(yīng)的相機參數(shù),將三維場景中虛擬相機的參數(shù)設(shè)置成與照片一致,虛擬相機的參數(shù)包括位置x、y、z、相機方位ori、相機俯仰角pitch、相機翻滾角roll、相機焦距f;設(shè)置三維場景出圖參數(shù),使其圖像長度、寬度與照片pc尺寸一致;
s33、輸出1張建設(shè)工程三維模型圖像imgt;
s34、逐像素對圖像imgt的顏色進行統(tǒng)計,找出圖像imgt不包含的顏色cn:
s341、構(gòu)建一個數(shù)組colorused{c0,c1,……,cn},用于保存獲取每一像素的rgb顏色值,其中,c為自然數(shù),n為圖像的像素數(shù);
s342、依次獲取圖像的每個像素i的rgb值{ri,gi,bi},計算其對應(yīng)的自然數(shù)顏色ci,存入colorused中;
ci=ri+gi*256+bi*65536;
所述ri、gi、bi為8位rgb顏色的紅、綠、藍分量,0≤ri≤255,0≤gi≤255,0≤bi≤255,0≤ci≤16777215;
s343、對colorused中的自然數(shù),按從小到大進行排序;
s344、從0開始,尋找數(shù)組colorused中第一個不存在的自然數(shù)m,0≤m≤16777215,并計算圖像不包含的顏色cn的rgb值cn{rn,gn,bn},
所述(int)表示對數(shù)值向下取整;
s345、如果數(shù)組colorused包含了所有m的可能值,依次統(tǒng)計colorused中每個值重復的次數(shù),選取重復最少的一個值作為不使用的顏色m,再依據(jù)上述公式計算cn;
s35、設(shè)置三維場景的背景顏色為cn,再次輸出1張建設(shè)工程三維模型的圖像imgc;
s36、選擇與照片pc位置上相鄰的照片pa,pa與pc為不同位置,依照步驟s32至s35,利用照片pa對應(yīng)的相機參數(shù)設(shè)置相機位置和出圖大小后,輸出一張建設(shè)工程三維模型圖像imga。
本實施例中,所述步驟s4按以下步驟執(zhí)行:
s41、在圖像處理軟件中,加載圖像imgc,提取圖像中顏色值不為cn的區(qū)域,該區(qū)域即為建設(shè)工程圖像的輪廓sketch;
s42、利用輪廓sektch提取pc中的部分圖像pcp;
s43、提取圖像pcp中位于建設(shè)工程輪廓sketch前方的部分pcp_front:
s431、依照步驟s41、s42,從圖像imga中提取出建設(shè)工程圖像輪廓sketch_a,利用sketch_a從照片pa中提取出部分圖像pap;
s432、針對圖像imgc、imga利用shif特征點匹配算法,進行特征點匹配,尋找兩張照片中的同名點(即shif的匹配點),得到同名點對fti{(tc1,ta1),(tc2,ta2),……,(tcn,tan)};其中,(tcn,tan)為第n對同名點,表示為(tcn(xcn,ycn),tan(xan,yan)),x、y為同名點在圖像中的坐標;同時按相同方法計算pcp、pap中的同名點對ftp{(tp1,tpa1),(tp2,tpa2),……,(tpn,tpan)};
s433、根據(jù)imgc、imga特征點匹配結(jié)果fti,計算建設(shè)工程模型中最小同名點偏移量mvmin,計算
s434、根據(jù)pcp、pap特征點匹配結(jié)果ftp,計算圖像pcp中各同名點的偏移量,并在圖像pcp上標注各同名點偏移量;
s435、根據(jù)pcp上各同名點偏移量,針對圖像上同名點偏移量小于mvmin的物體,利用圖像處理軟件的選擇工具,將該物體輪廓提取出來,將所有提取的部分圖像保存為pcp_front。在其他實施例中,為了保證需要保留在前景的物體都能找到同名點,可以適當放寬shif特征點匹配工程同的匹配精度,以得到更多同名點。
s44、按從下到上的次序依次疊加pc、sketch和pcp_front,并合并得到混合后的照片pf。
本實施例中,還包括混合三維模型圖像與照片得到混合圖像的步驟:
s51、依次對每個照片拍攝地點m,利用混合后的照片pf替換原照片pc;
s52、利用全景圖像生成軟件,加載所有照片,生成全景圖像;
s53、利用現(xiàn)有的全景圖像發(fā)布系統(tǒng)發(fā)布全景圖像,或利用webgl技術(shù)開發(fā)全景發(fā)布系統(tǒng)進行全景圖像發(fā)布。
以上詳細描述了本發(fā)明的較佳具體實施例。應(yīng)當理解,本領(lǐng)域的普通技術(shù)人員無需創(chuàng)造性勞動就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實驗可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護范圍內(nèi)。