基于多視點編碼光場的全景三維重建方法

歡迎關注GZH《光場視覺》

摘要在基于光場的一系列應用中,目標的三維重建是基礎且關鍵的任務。普通光場只能重建單一視角而無法重建全景,并且在紋理特征匱乏的區域也無法生成準確的三維信息。針對以上問題,提出一種基于多視點編碼光場的全景三維重建方法。首先,利用結構光編碼向場景投射正弦模板生成像素級的相位碼字以豐富場景特征,進而在多個角度獨立地進行光場采集。然后,在各個光場采樣視點的內部利用空間信息和角度信息求取深度值。最后,在不同的光場采樣點之間由位姿引導實現三維信息融合。實驗結果表明,所提方法能有效恢復物體的全景信息,而且對物體紋理特征匱乏區域的重建也更加準確。

關鍵詞圖像處理;三維重建;光場;結構光;相位編碼;點云

1引言

三維重建是計算機視覺中的一項重要任務,廣泛應用于虛擬現實技術[1]、無人駕駛[2]、機器人視覺導航[3]等領域。基于多視圖匹配的三維重建技術如structurefrommotion(SFM)[4]和simultaneouslocalizationandmapping(SLAM)[5]已經被用于大規模場景的稀疏重建。此類方法通過特征點匹配計算特征點的空間坐標,進而重建出物體的三維模型。然而它們面臨著兩方面不足:1)場景中的特征點分布稀疏,導致重建的三維模型也十分稀疏,無法描述幾何細節;2)特征點的匹配計算復雜,制約三維重建的速度。

四維光場(LF)[6]同時記錄光線的強度和方向,其數據高維度的優點催生了大量應用;并且隨著Lytro和Raytrix等便攜式光場攝像機的普及,基于光場的三維重建方法被陸續提出。光場根據數字重聚焦中的最佳剪切值[7]或極平面圖像(EPI)中的最優斜率[8-9]來獲取場景深度。Tao等[10]綜合度量散焦線索和相關性線索兩種代價獲取深度值。Williem等[11]綜合度量約束角熵代價和約束自適應離焦代價獲取深度值。Peng等[12]認為在同一視點不同視圖中的深度圖包含互補信息,并提出融合不同視圖實現目標重建的方法。此類方法通過精確的深度值估計實現物體重建,但深度線索依賴光場的空間和角度信息,只能在單一視角重建目標,無法恢復目標完整的全景三維信息。

全景三維重建需要從不同的視角獲得場景的幾何信息再進行融合,常見的方法有360°重建和720°重建。360°重建中,視點沿水平環形布置,720°重建則同時沿著水平和垂直方向環形布局。這一類方法利用場景幾何與光場結構之間的關系計算位姿[13]或者利用高精度的采集設備獲取位姿[14],并由位姿引導實現立體匹配。Chen等[15]使用雙邊一致性度量進行可靠的光場立體匹配。Zhang等[16]在此基礎上提出P-SFM,結合立體匹配技術和光場光束平差技術計算光場相機位姿和場景幾何形狀。Vianello等[14]利用高精度采集設備獲取360°環形光場,利用Hough變換計算環形EPI獲取單視點深度并使用采樣過程中得到的位姿實現信息融合。宋征璽等[17]在此基礎上構建三維霍夫空間提取空間點軌跡實現重建。此類方法可以實現物體的全景三維重建,然而深度計算和位姿估計均依賴于表面紋理,可靠性相對較差。因此通常需要較多的數據,利用數據冗余來提高三維重建的可靠性。

針對以上問題,本文提出一種基于多視點編碼光場融合的全景三維重建方法。使用光場相機環繞物體進行采樣,利用光場內部的高維數據獨立獲取各個視點的深度值,進而將不同視點的深度值轉換為點云并在全局坐標空間中融合,實現物體的全景重建。同時,在普通光場的基礎上引入相位編碼光場以豐富場景特征,從而提高深度值質量。所提方法具有以下優點:1)采用編碼光場的相位編碼代替自然場景,解決弱紋理或無紋理區域由于缺乏特征導致的深度估計不準確問題。2)采用多視點融合策略,解決普通光場只能實現單視角重建的問題,實現全景重建。同時在采樣過程中獲取單視點精確位姿,消除位姿計算導致的視點間匹配不準確問題。3)采用沿水平和垂直方向進行環形布局的信息采集方法,在獲取物體全景信息的同時減少視點采集數。

2多視點三維重建算法

所提基于多視點編碼光場的精確三維全景重建方法的總體框架如圖1(a)所示,采用結構光編碼技術賦予場景像素級碼字特征,使用光場相機獲取不同視點的編碼光場,然后獨立計算不同視點的深度值,最后將不同視點的信息在三維坐標空間中融合。相對于已有的三維重建方案,所提框架具有以下特點:1)在深度值估計階段,采用一種符合結構光特性的重聚焦方法,在提高深度值精度的同時降低復雜度;2)在視點融合階段,使用采樣中的位姿進行點云融合,避免重新計算位姿引起的誤差;3)提出一種基于統計的飛行像素去除方法,優化重建目標在深度不連續區域的精度。

圖片

2.1相位編碼光場的獲取

在各個視點采用相位編碼光場進行深度值估計,采用多步相移法進行像素級編碼,在減小量化誤差的同時產生準確連續的碼字。具體來說,使用N張同時受水平和垂直坐標調制的正弦函數模板,其中,第i張模板被定義為

圖片

式中:A表示振幅;(s,t)表示像素的坐標;T表示正弦函數周期。這些圖像由光場相機采集,通過N步相移法獲得包裹相位:

圖片

包裹相位φ(x,y)通過arctan函數求出,相位值分布在(-π,π)中,并在水平和豎直方向上周期性循環。通過多步相移法得到的圖像,像素值在其鄰域內連續且唯一。

2.2改進的重聚焦算法

通過第2.1節得到編碼光場后,使用重聚焦算法進行深度估計。對于編碼光場,通過四維剪切對其進行重聚焦

圖片

式中:φ表示光場圖像;α表示剪切值;φα表示重聚焦之后的光場圖像;(u,v)和(s,t)表示角度坐標與空間坐標。當重聚焦圖像聚焦于一個特定深度值時,聚焦平面上的點所處角塊的強度一致,成像最為清晰;而聚焦平面以外的散焦點則變得模糊。剪切值α反映場景的深度值,通過代價函數Cost(φα)評估深度線索,代價最小的α對應最佳深度值。

圖片

傳統光場的代價曲線如圖2(b)所示,受均勻紋理、復雜光照和遮擋等因素影響,場景的強度值相似或相同,代價函數出現多個最小值使α無法唯一地收斂,導致深度值估計不準確。針對上述問題,對傳統重聚焦算法在光場采集和代價計算兩方面進行改進,充分利用編碼光場特性,在減小計算量的同時提升深度估計的精度。

圖片

在光場重采樣階段,傳統數字重聚焦的精度受光場低分辨率的制約,采樣像素在多個的剪切值下均保持相同。當剪切值為α0和α1時,最鄰近的采樣像素均為(s0,t1),產生量化誤差降低視差的精度,如圖3(a)所示。為解決這個問題,采用雙線性插值法重新計算亞像素相位值,如圖3(b)所示,將剪切值α采樣下的亞像素相位值記為

圖片

圖片

式中:φα(s,t)表示空間坐標(s,t)處的相位值;n和m為亞像素與其左上方整像素點間的水平和垂直距離。普通光場使用強度作為編碼信息,像素間不具有連續性,使用插值法破壞了圖像的空間結構;編碼光場的像素在水平和垂直方向均連續,基于雙線性插值的亞像素采樣方法充分利用這一特性,在不破壞光場空間結構的同時提升數字重聚焦的采樣精度。

得到重采樣的相位后,數字重聚焦通過代價最小化計算深度值。Tao等[10]將散焦線索和相關性線索作為代價計算場景深度。當α重新聚焦到正確的深度時,相關性線索要求光場圖像中所有與(s,t)對應的像素構成一個具有最小方差的角塊,同時散焦線索要求該角塊的像素值與中心視圖相應的像素值的差異最小。根據Cai等[18]的研究,相位編碼光場對散焦線索不敏感而對相關性線索敏感。因此僅使用相關性線索定義代價函數:

圖片

式中:N表示光場的角度分辨率;φα(s,t,u,v)表示剪切值α下采樣像素的相位值。僅使用相關性線索定義代價函數,在保持光場深度估計準確性的同時減小了運算量,加快了運算速度,如式(4)所示,通過計算求取最小化代價Cost(φα)的剪切值α,進一步通過文獻[10]中的方法即可得到場景的深度值。

2.3多視點三維信息融合

為實現物體全景三維重建,在相位編碼重聚焦求得單視點深度圖的基礎上,還需要融合多視點的三維信息。對測量目標在多個水平和垂直的視點進行采樣得到不同視點信息,使用數字重聚焦計算各視點的深度圖,將各視點深度圖中的像素投射到三維坐標空間,并使用位姿匹配實現信息融合。

對于任意一張深度圖,通過下式將像素(s,t)轉換為空間坐標(x,y,z)進而轉換為點云:

圖片

式中:z0表示像素(s,t)處的深度值;f表示相機的焦距;d表示焦點與旋轉中心的距離;(s0,t0)表示深度圖中心像素的坐標;dx和dy表示單一像素點在水平和豎直方向上的物理尺寸;P表示單視點的點云;∪表示空間坐標的集合;Npix表示深度圖像素個數。

圖4(a)中,將物體首次采樣的視點作為參考系,沿水平和垂直兩個方向進行采樣。將采樣過程中水平和垂直方向的旋轉角度定義為θ1、θ2,則水平和垂直視點的位姿為

圖片

式中:Hθ表示水平視點的位姿;Vθ表示垂直視點的位姿。

圖片

在實際應用中,由于光場相機的旋轉角度θ1難以測量,通常固定光場相機并使用步進電機控制的高精度旋轉臺對物體進行指定角度的旋轉[17]實現水平視點采集。由于水平方向進行360°采集已經覆蓋了目標的大部分區域,垂直方向的視點只需覆蓋頂部和底部,即θ2為90°和270°兩個特殊視點即可。

在獲得不同視角點云位姿后,通過下式將多視點的點云融合,如圖4(b)所示:

圖片

式中:Pv表示垂直視點的點云;Ph表示水平視點的點云;Pm表示主視點的點云;∪表示單視點下點云的集合;P表示融合后的點云。

在多視點點云融合過程中,不同視點的點云存在重疊部分,如圖5(a)所示。這些點被視為物體表面的重復采樣點,使點云重疊區域的密度大于單視點點云密度,給物體重建帶來了誤差。使用一種基于體素的重復點云處理方法來解決此問題,如圖5(b)所示,對于源點云,建立其對應的八叉樹,并將目標點云和源點云中存在于同一體素的點定義為重疊點。此時兩個點云的重復點在同一體素中,使用體素下采樣或者Laplace平滑[19]均可有效融合重復點云。處理后的點云,重疊區域和不重疊區域的密度保持一致,提升了重建物體的質量。

圖片

2.4飛行像素移除

為進一步提升三維重建質量,提高點云在深度不連續區域的精度,提出一種基于統計式的離群點移除策略消除飛行像素。飛行像素的產生原理如圖6(a)所示,像素p3同時記錄來自多條路徑的光,當像素看到前景物體的邊緣和非遮擋的背景物體時,采集的強度/顏色將是前景和背景強度/顏色的混合。飛行像素被視為錯誤的采樣點,從而帶來了誤差。

圖片

飛行像素的強度是前景和背景的加權和,將深度圖轉換為點云后,飛行像素點與其他點的距離往往更遠。利用這一特性,提出一種統計式離群點移除策略,這些點滿足

圖片

式中:(xp,yp,zp)表示為離點p最近k個點的空間坐標;δ為所設的閾值。式(13)可以有效尋找所有與鄰域的其他點距離較大的點,通過調整適合的閾值δ索引飛行像素點并移除。具體效果如圖6(c)所示,該方法計算量小,且在去除離群點的同時提升了物體的邊緣質量。

3.實驗結果與分析

3.1實驗設置

將所提算法與3種三維重建算法進行對比,分別為普通光場三維重建[10]、clusteringviewsformulti-viewstereo(CMVS)[20]、multi-viewstereo(MVS)[21]。相應地,構建了3種數據,具體的測試方法和對應的實驗數據如表1所示。1)針對CMVS和MVS,構建水平360°環形光場,如圖7(d)所示,相機環繞旋轉軸1°等間隔均勻采樣以獲取場景的360°信息,一個數據集包含360張普通紋理圖像。2)針對紋理光場的三維重建[10],構建720°普通光場,如圖7(c)所示,該數據包含6個視點,在水平和垂直方向分別構成360°環形采集,每個視點為圖7(a)所示的普通光場采集的紋理信息。光場相機焦距為43.456mm,每個視點包含7×7共49張圖像,整個數據集包含294張視圖。3)針對所提編碼光場的三維重建,構建720°編碼光場,其采樣方式仍如圖7(c)所示,但各視點為圖7(b)所示的編碼光場[22]。其光場相機參數和普通光場相同,模板使用正弦函數的周期為42,整個數據集包含294張視圖。

值得注意的是,CMVS和MVS需要密集的采樣視點建立視點間相關性,當視點間距大時無法進行匹配,故使用圖7(c)所示的采樣方法無法得到重建結果。根據Vianello等[14]和宋征璽等[17]的研究,使用圖7(d)所示的環形光場并采用1°間隔采樣時可取得可接受的重建效果,此時需360張采樣圖像,已經高于普通光場和編碼光場294張視圖的數據量。為在盡可能接近的數據規模上比較性能,對環形光場僅進行水平360°重建。

?

圖片

圖片

3.2與現有方法的精度比較

從表1可以看出,采用4種方法在3組數據集上測試重建效果及生成mesh的誤差,結果如圖8~10所示,其中,誤差圖顏色越深代表誤差越大。MVS和CMVS在環形光場數據集的實驗結果如圖8~10(a)、(b)所示,可見MVS重建結果在邊緣處具有較多噪聲,而CMVS重建點云密度較稀疏。使用泊松表面重建[23]將點云重建為網格后,所得到的重建結果誤差較大。同時,使用環形光場數據集進行三維重建會丟失頂部和底部信息,只能完成水平360°重建。傳統光場三維重建方法和所提方法的測試結果如圖8~10(c)、(d)所示,結果表明,通過不同視點求取深度值再進行融合,所得重建效果整體優于CMVS和MVS,利用更少的輸入圖像生成了更精確的三維信息。同時從圖8~10(c)可以看出,普通光場數據集難以對弱紋理或無紋理區域進行有效重建,而從圖8~10(d)可以看出,使用編碼光場可以得到更好的點云,網格的重建結果也更加平滑和準確,實現了精確的全景三維重建。

圖片

圖片

圖片

為更好呈現全景三維重建效果,選取5個隨機角度對生成的網格與真實值進行對比,結果如圖11所示,所提方法可以獲取物體的全景信息并融合,在各個角度均能觀測到物體的三維信息。

圖片

3.3光場角度分辨率對結果的影響

為分析編碼光場的角度分辨率對結果的影響,即重建質量隨輸入數據量的變化,測試角度分辨率為3×3、5×5、7×7的普通光場與編碼光場所得點云的均方根誤差(RMSE)[24],結果如表2所示。從表2可以看出,隨著單視點光場采樣角度分辨率的增加,普通光場和編碼光場的RMSE不斷減小,表明視點數目的增加提供了更強的約束,從而生成更準確的三維信息。同時,在相同角度分辨率的情況下,編碼光場得到的點云質量優于普通光場,即光編碼提供了更準確的深度線索,生成了更準確的深度值。

除了客觀指標,還比較了重建mesh和真實值的誤差,結果如圖12~14所示。從圖中可以看出:輸入光場的角度分辨率改變時,普通算法受角度分辨率的影響更大;而所提算法在輸入不同尺度的光場情況下,均能得到完整的信息和精確的輪廓。此外,其結果也表明所提算法的mesh質量優于普通算法,重建結果更加準確且平滑,從而驗證了其有效性。

圖片

圖片

圖片

圖片

3.4重建精度影響因素分析

還探索了具體實施中不同因素對重建精度的影響,主要包括輸入圖片空間分辨率、旋轉角精度及模板的噪聲。重建誤差以RMSE衡量,結果如表3所示,重建mesh的誤差如圖15所示。輸入圖像的空間分辨率影響深度值的精確性,進而影響重建結果,測試并分析了在輸入分辨率為512×512、448×448、384×384時的重建效果。隨著空間分辨率降低,視差和深度值精度降低,生成點云的誤差增大。視點的旋轉角θ1和θ2將影響點云的融合,進而降低重建質量,測試并分析了旋轉角出現1°~5°誤差時的重建效果。隨著角度誤差的增加,重建結果的誤差也迅速增大。模板噪聲降低深度值的準確性,降低重建質量,對相位模板加入方差為0.01、0.05、0.1的高斯噪聲并測試重建效果。隨著噪聲增強,重建結果的RMSE略微增加。

4 結論

針對傳統光場重建信息不全,在紋理匱乏和重復區域重建結果不精確等問題,提出一種基于多視點的編碼光場三維重建的方法。通過相位解碼、深度估計、多視點融合、飛行像素去除等一系列步驟進行優化,實現了物體的精確全景重建。實驗結果表明,與現有方法相比,該方法可以在更少的輸入情況下得到更加精確的重建結果,同時其在弱紋理或無紋理處重建的結果更加平滑。同時,還分析了角度分辨率、空間分辨率、模板噪聲等因素對重建質量的影響。

文章來源:激光與光電子學進展?第60卷第12期

文章作者:王澤宇,向森,鄧慧萍,吳謹

相關鏈接:http://www.opticsjournal.net/Articles/OJ46b4470ef4ff0194/Abstract

聲明:轉載此文目的在于傳遞更多信息,僅供讀者學習、交流之目的。文章版權歸原作者所有,如有侵權,請聯系刪除。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38531.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38531.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38531.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

存算一體架構或成為AI處理器技術發展關鍵

©作者|堅果 來源|神州問學 引言 馬斯克巨資60億美元打造的“超級算力工場”,通過串聯10萬塊頂級NVIDIA H100 GPU,不僅震撼了AI和半導體行業,促使英偉達股價應聲上漲6%,還強烈暗示了AI大模型及芯片需求的急劇膨脹。這一行動…

【學習積累】自然資源全領域基本知識

【學習積累】自然資源領域基本知識 土地篇 1、我國土地管理的基本國策和基本國情是什么? 答:基本國策是十分珍惜、合理利用土地和切實保護耕地。基本國情是人多地少,耕地后備資源嚴重不足 2、耕地保護對我國經濟社會發展有何作用? 答:…

數字化精益生產系統--RD研發管理系統

R&D研發管理系統是一種用于管理和監督科學研究和技術開發的軟件系統,其設計和應用旨在提高企業研發活動的效率、質量和速度。以下是對R&D研發管理系統的功能設計:

hive命令和參數

一.命令行模式 hive命令行 hive -H 查詢hive的可用參數 hive -e "" 在hive命令中直接執行簡單的sql語句 在hive命令中執行sql文件 hive -f 文件地址 在hive命令中新建hive變量 hive --hivevar mykey"myvalue" beeline命令行 先得啟動hiveserver…

電力授時設備常用:低功耗定位授時模塊ATGM332D-5T

ATGM332D有5N微星定位模塊系列和5T授時模塊,其中我們今天要解讀的是一款擁有高性能、低功耗、低成本優勢且適用于各類授時設備并支持BDS/GNSS的定位授時模塊ATGM332D-5T。 該系列模塊產品是基于中科微第四代低功耗GNSS SOC單芯片—AT6558,支持多種微星導…

第四十六章 解決 IRIS 中的 SOAP 問題

文章目錄 第四十六章 解決 IRIS 中的 SOAP 問題故障排除所需的信息IRIS SOAP 日志 第四十六章 解決 IRIS 中的 SOAP 問題 本主題提供信息來幫助識別 IRIS 數據平臺中 SOAP 問題的原因。 有關明顯與安全相關的問題的信息,請參閱故障排除安全問題。在極少數情況下&a…

使用Spring Boot和Docker進行容器化部署

使用Spring Boot和Docker進行容器化部署 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿!今天我們將探討如何利用Spring Boot和Docker來實現應用程序的容器化部署…

大數據開發語言 Scala(四):面向對象編程

目錄 1. 概述 2. 面向對象編程的基本概念 2.1 類和對象 2.2 繼承和多態 2.3 封裝和訪問控制 3. 面向對象編程在大數據開發中的應用 3.1 Spark中的面向對象編程 3.2 面向對象編程在數據清洗和預處理中 3.3 面向對象編程在機器學習中的應用 4. 面向對象編程的高級特性 …

adb簡介

ADB 的實現涉及到多個組件和多個步驟。下面是詳細的實現過程: 1. 架構組成 ADB Client:運行在主機上,用戶通過它發送命令。ADB Daemon(adbd):運行在Android設備上,負責接收和執行來自ADB Clie…

PyCharm遠程開發

PyCharm遠程開發 1- 遠程環境說明 每個人的本地電腦環境差別很大。各自在自己電腦上開發功能,測試/運行正常。但是將多個人的代碼功能合并,運行服務器上,會出現各種版本兼容性問題。 在實際企業中,一般會有兩套環境。第一套是測…

中小企業如何防止被查盜

在當前的商業環境中,小企業面臨諸多挑戰,其中之一便是如何在有限的預算內滿足日常運營的技術需求。由于正版軟件的高昂成本,一些小企業可能會選擇使用盜版軟件來降低成本。 我們聯網之后存在很多風險,你可以打開自己的可以聯網的電…

Spring boot 更改啟動LOGO

在resources目錄下創建banner.txt文件,然后編輯對應的圖案即可 注釋工具 Spring Boot Version: ${spring-boot.version},-.___,---.__ /|\ __,---,___,- \ -.____,- | -.____,- // -., | ~\ /~ | …

Docker 安裝 Python

Docker 安裝 Python 在當今的軟件開發領域,Docker 已成為一項關鍵技術,它允許開發人員將應用程序及其依賴環境打包到一個可移植的容器中。Python,作為一種廣泛使用的高級編程語言,經常被部署在 Docker 容器中。本文將詳細介紹如何在 Docker 中安裝 Python,以及如何配置環…

直播商城源碼選擇指南:如何找到適合您的?

直播商城源碼是一種可以幫助商家搭建并運營直播購物平臺的軟件代碼。隨著直播購物的快速發展,越來越多的商家開始關注并投資于直播商城源碼。然而,面對市面上眾多的選擇,商家在選擇適合自己的直播商城源碼時常常感到困惑。本文將為您提供一些…

淘寶扭蛋機小程序開發,新玩法、新收益體驗!

近幾年,隨著娛樂消費的火爆,潮玩市場得到了快速發展,從而帶動了扭蛋機市場的發展,扭蛋機也逐漸風靡在消費市場中。對于年輕人消費者來說,愿意為扭蛋機的熱門IP商品而買單。目前,價格低、顏值高、種類多樣的…

RHCE——四:web服務器的高級優化方案

文章目錄 一、基于https協議的靜態網站1.概念解釋2. SSL協議提供的服務:3.web服務的配置詳解web服務的常用種類nginx的基本配置參數 4.使用nginx的http_ssl模塊建立加密認證網站查看配置文件:ssl配置文件的主要參數實驗一:搭建nginxssl的加密…

sed 保持空間命令之 x 的執行邏輯

目錄 1. 將模式空間和保持空間的內容互換并打印 2. 將保持空間的內容交換回模式空間 3. 使用保持空間保存狀態信息 4. 交換模式空間與保持空間隔行匹配 sed 有兩個內置的緩存空間: 模式空間:該空間是 sed 內置的一個緩沖區,是 sed 執行的…

基于Hadoop平臺的電信客服數據的處理與分析③項目開發:搭建基于Hadoop的全分布式集群---任務9:HBase的安裝和部署

任務描述 任務內容為HBase的安裝部署與測試。 任務指導 HBase集群需要整個集群所有節點安裝的HBase版本保持一致,并且擁有相同的配置 具體配置步驟如下: 1. 解壓縮HBase的壓縮包 2. 配置HBase的環境變量 3. 修改HBase的配置文件,HBase…

怎樣在《好作文》期刊上發表文章?

怎樣在《好作文》期刊上發表文章? 《好作文》知網 G4 2版2500字符 小學語文閱讀寫作方向 24年8-9月不要摘要參考文獻(小學語文閱讀寫作方向內容,不收純教學文章,以學生角度為主,出刊晚2-3個月左右,一周內…

Python基礎002

Python數據類型 1、字符串&#xff08;str&#xff09; str3 """I miss you so much""" print("str3 ", str3,type(str3)) str3 I miss you so much <class str>2、整數&#xff08;int&#xff09; str1 55 print(&quo…