本發(fā)明屬于核電站視頻無(wú)損檢查、圖像處理技術(shù)領(lǐng)域,具體涉及一種螺紋全景圖像合成方法。
背景技術(shù):
核電站反應(yīng)堆壓力容器螺栓孔的維護(hù)對(duì)于電站的安全運(yùn)行起到了重要的作用。通常采用的檢查方式為單攝像頭旋轉(zhuǎn)升降采集整個(gè)螺孔螺紋的圖像,或者由多個(gè)攝像頭分別取景螺孔不同螺紋段,并提供視頻或圖片以供目視檢查人員查看。本方法為方便目視檢查人員工作,采用多攝像頭在不同方位對(duì)螺紋取景后,借助圖像拼接技術(shù),將拍攝到的多張分塊圖片通過(guò)配準(zhǔn)和融合,合成一幅完整的全景圖片。
圖像拼接是一種集圖像處理、計(jì)算機(jī)視覺(jué)等多學(xué)科領(lǐng)域知識(shí)的交叉處理技術(shù)。現(xiàn)有的圖像拼接方法一般采用提取圖像特征,比配特征,計(jì)算變換矩陣等方法。存在特征點(diǎn)提取速度慢,而且魯棒性低。尤其是在圖像中存在尺度變換、視角變換、光照變化時(shí),圖像拼接處理效果不理想。
2004年,David.Lowe完善并總結(jié)了他在1999年提出的SIFT算法,該算法對(duì)兩幅圖像間的水平移動(dòng)、旋轉(zhuǎn)變化、縮放變化、尺度變化甚至仿射變化均有較為穩(wěn)定的匹配能力。傳統(tǒng)的SIFT特征提取算法是在整幅圖片中提取特征,然后生成特征向量并進(jìn)行特征匹配,其計(jì)算量大,影響運(yùn)算速度,雖然誤匹配概率較小但仍存在。SURF特征是Herbert Bay等人于2006年提出來(lái)的全稱為加速魯棒特征,實(shí)質(zhì)上是改進(jìn)版的SIFT特征,它的主要特點(diǎn)是快速性,同時(shí)也具有尺度不變的特性,對(duì)光照變化和仿射、透視變化也具有較強(qiáng)的魯棒性。
因此本發(fā)明利用螺栓孔內(nèi)壁螺紋特性,首先對(duì)成像系統(tǒng)建模,校正枕形失真。然后提取SURF特征結(jié)合近似快速最近鄰搜索算法FLANN快速匹配特征點(diǎn),提高圖像拼接效率。在縱向拼接方面考慮螺栓圖片特征,檢測(cè)螺紋直線,根據(jù)直線位置進(jìn)行拼接。最后根據(jù)位置信息融合拼接區(qū)域。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的在于為了方便目視檢查人員更有效的進(jìn)行反應(yīng)堆壓力容器螺栓孔螺紋缺陷檢查,通過(guò)多攝像頭多角度拍攝螺紋,并通過(guò)圖像拼接合成形成整個(gè)螺孔螺紋的展開圖??赏ㄟ^(guò)檢查此圖片即可完成缺陷檢查工作。此方法也可應(yīng)用于大部件的目視檢查工作。
本發(fā)明的技術(shù)方案如下:
一種螺栓孔內(nèi)壁全景圖像合成方法,包括:
步驟一:現(xiàn)場(chǎng)實(shí)測(cè),選定攝像頭參數(shù);將若干個(gè)攝像頭豎直排列,由機(jī)械臂送入螺栓孔內(nèi),根據(jù)現(xiàn)場(chǎng)實(shí)測(cè),選定鏡頭焦距與光圈大小,確保上下相鄰圖片重疊高度為兩個(gè)螺紋間距,左右相鄰圖片重疊寬度為圖片寬度的15%;
步驟二、采集圖像:以螺栓孔軸心為旋轉(zhuǎn)心將攝像頭旋轉(zhuǎn)若干個(gè)角度拍攝螺紋內(nèi)壁圖像,采集螺栓孔內(nèi)壁全景分塊圖像并現(xiàn)場(chǎng)標(biāo)定重疊區(qū)域;
步驟三、枕形畸變校正:對(duì)步驟二中拍攝的所有圖片建立枕形畸變模型,進(jìn)行畸變矯正,枕形畸變矯正具體方法為:
步驟四、橫向拼接重疊像素?cái)?shù)確定:對(duì)步驟三中左右相鄰圖像重疊區(qū)域內(nèi)提取SURF特征,根據(jù)快速最近鄰算法匹配特征,利用RANSAC算法剔除誤匹配點(diǎn),計(jì)算待拼接圖像間的變換關(guān)系,確定橫向拼接重疊像素?cái)?shù);
步驟五、縱向拼接重疊像素?cái)?shù)確定:對(duì)步驟三中上下相鄰圖像中采用霍夫直線檢測(cè)算法,提取每一根螺紋的位置信息,確定縱向拼接重疊像素?cái)?shù);
步驟六、全景圖像合成:選取左上方第一張圖像為基準(zhǔn)圖像,根據(jù)步驟四和步驟五確定的重疊區(qū)域先橫向拼接后縱向拼接,對(duì)拼接區(qū)域采用漸入漸出方式融合,最終合成螺栓孔內(nèi)壁全景圖像。
如上所述步驟二中現(xiàn)場(chǎng)標(biāo)定重疊區(qū)域時(shí),上下相鄰圖片重疊高度為兩個(gè)螺紋間距,左右相鄰圖片重疊寬度為圖片寬度的15%。
如上所述步驟三枕形畸變矯正的具體方法為:
步驟3.1建立攝像機(jī)模型,確定相機(jī)內(nèi)參數(shù)矩陣;
將坐標(biāo)為(Xi,Yi,Zi)的物理點(diǎn)Qi映射到投影平面上坐標(biāo)為(xi,yi)的變換表示為:
q=MQ
其中,M為攝像機(jī)內(nèi)參數(shù)矩陣,且z=Z。fx、fy為有效焦距,(cx,cy)為光學(xué)中心;
步驟3.2根據(jù)透鏡畸變?cè)?,建立相機(jī)畸變模型,確定相機(jī)畸變參數(shù)矩陣;
具體地,由于成像儀中心畸變?yōu)?,用r=0(r為像點(diǎn)到中心點(diǎn)的距離)位置周圍的泰勒級(jí)數(shù)展開的前幾項(xiàng)來(lái)定量描述畸變情況,徑向畸變通過(guò)三個(gè)參數(shù)k1,k2,k3來(lái)描述,表達(dá)式為:
xcorrected=x(1+k1r2+k2r4+k3r6)
ycorrected=y(tǒng)(1+k1r2+k2r4+k3r6)
切向畸變通過(guò)參數(shù)p1,p2來(lái)描述,表達(dá)式為:
xcorrected=x+[2p1y+p2(r2+2x2)]
ycorrected=y(tǒng)+[p1(r2+2y2)+2p2y]
其中,(x,y)是畸變點(diǎn)在成像儀上的原始位置,(xcorrected,ycorrected)是校正后的新位置,畸變向量為[k1,k2,p1,p2,k3]T;
步驟3.3對(duì)于每一個(gè)不同內(nèi)徑的螺栓孔及每一個(gè)攝像頭,選擇一副螺紋圖片,調(diào)整畸變向量至最佳矯正效果,記錄不同內(nèi)徑螺栓孔及不同攝像頭的畸變向量;
步驟3.4將記錄的畸變系數(shù)應(yīng)用于將要矯正的螺栓孔及攝像頭拍攝的圖片;
步驟3.5得到校正圖片。
如上所述步驟四橫向拼接重疊像素?cái)?shù)具體方法如下:
步驟4.1在需要橫向拼接的圖像重疊區(qū)域內(nèi)尋找SURF特征點(diǎn):
首先構(gòu)建積分圖像,將原圖像表示為I(x,y),像素點(diǎn)(x,y)對(duì)應(yīng)的在積分圖像中的值為I(x,y),則積分圖像I(x,y)是以原點(diǎn)和點(diǎn)(x,y)為對(duì)角線的矩形框內(nèi)所有點(diǎn)的像素值之和,如下式所示:
求取不同尺度的Hessian矩陣行列式的局部最大值得到尺度不變的特征點(diǎn);圖像在σ尺度下的Hessian矩陣為:
其中,Lxx(X,σ)表示高斯二階偏導(dǎo)數(shù)與圖像在像素點(diǎn)(x,y)出的卷積,表示在σ尺度下該點(diǎn)在x方向上的二階偏導(dǎo)數(shù),g(σ)為高斯函數(shù),可以用下式來(lái)表達(dá):
在計(jì)算中用到高斯函數(shù)的二階偏導(dǎo)數(shù)與圖像的積分時(shí)為了提高運(yùn)算速度,采用盒狀濾波器來(lái)近似高斯函數(shù)的二階偏導(dǎo)數(shù);即SURF特征點(diǎn)提取所建立的圖像尺度金字塔是通過(guò)保持原圖像的大小不變,改變盒狀濾波器的大小和高斯函數(shù)的尺度來(lái)實(shí)現(xiàn);
步驟4.2生成步驟4.1中SURF特征點(diǎn)的描述子;
在確定特征點(diǎn)位置之后,利用haar小波對(duì)特征點(diǎn)進(jìn)行主方向的確定以保證特征點(diǎn)的旋轉(zhuǎn)和尺度不變性,在完成haar小波主方向確定之后,以特征點(diǎn)為中心,將坐標(biāo)軸旋轉(zhuǎn)到haar小波主方向上,做一個(gè)邊長(zhǎng)為20σ的正方形窗口,σ為高斯濾波器的尺度,并將窗口劃分為16個(gè)大小為5σ×5σ的子窗口區(qū)域;以采樣間隔σ,分別計(jì)算每個(gè)子窗口水平和垂直方向上的小波響應(yīng),得到的小波系數(shù)記為dx和dy;然后對(duì)響應(yīng)系數(shù)求和得到∑dx和∑dy,再求取響應(yīng)系數(shù)絕對(duì)值之和得到∑|dx|和∑|dy|;因此,每個(gè)子窗口都能夠得到一個(gè)4維向量v=[∑dx ∑dy ∑|dx| ∑|dy|],并用此向量來(lái)描述該特征點(diǎn);
步驟4.3利用近似最近鄰算法FLANN匹配特征點(diǎn):
根據(jù)特征向量之間的歐氏距離來(lái)衡量特征點(diǎn)的相似度,選取一張圖像中的一個(gè)特征點(diǎn)與別一張圖像中所有特征點(diǎn)分別求取歐式距離,從中選出最近鄰特征點(diǎn)歐式距離ρf和次近鄰特征點(diǎn)歐式距離ρs,并計(jì)算兩者的比值ρ;
對(duì)于比值小于某閾值ρm的特征點(diǎn),則認(rèn)為正確匹配并將正確匹配的特征點(diǎn)進(jìn)行連接,否則錯(cuò)誤匹配:
步驟4.4采用RANSAC算法剔除誤匹配點(diǎn),得到最終匹配點(diǎn),具體步驟如下:
步驟4.4.1:從正確匹配的特征點(diǎn)對(duì)中隨機(jī)選擇m對(duì)特征點(diǎn)來(lái)求解單應(yīng)性矩陣模型H;
步驟4.4.2:將除上述m對(duì)特征點(diǎn)以外的其他特征點(diǎn)對(duì)利用H計(jì)算其對(duì)稱變換誤差di,統(tǒng)計(jì)誤差di<T_dist的內(nèi)點(diǎn)的個(gè)數(shù)M;T_dist為指定的一個(gè)閾值,用于表示歐式距離;
步驟4.4.3:若M>M_inlier,或者M(jìn)=M_inlier,則認(rèn)為H是當(dāng)前最好的模型,并且保存內(nèi)點(diǎn)M;M_inlier為指定的一個(gè)閾值,表示符合單應(yīng)性矩陣模型H的內(nèi)點(diǎn)的個(gè)數(shù);
步驟4.4.4:利用式(1)計(jì)算循環(huán)次數(shù)N,步驟4.4.1至步驟4.4.3執(zhí)行N次,當(dāng)循環(huán)結(jié)束時(shí),得到M最大的對(duì)應(yīng)的單應(yīng)性矩陣模型,得到最優(yōu)的模型矩陣:
其中ε為外點(diǎn)所占的比例,P表示置信概率。在本實(shí)例中,P取值為0.99,m取值為4;
步驟4.5根據(jù)匹配點(diǎn)計(jì)算投影變換矩陣,從而實(shí)現(xiàn)橫向拼接。
如上所述步驟五中縱向拼接重疊像素?cái)?shù)的具體方法如下:
步驟5.1對(duì)圖像進(jìn)行二值化處理,采用Canny算子檢測(cè)邊緣;
步驟5.2利用霍夫變換檢測(cè)螺紋直線,獲取直線特征;
對(duì)于任意一點(diǎn)(x0,y0),經(jīng)過(guò)這點(diǎn)的一簇直線表示為rθ=x0·cosθ+y0·sinθ,其中角度θ表示rθ與X軸之間的夾角,rθ為原點(diǎn)到直線幾何垂直距離;通過(guò)概率霍夫變換,高于閾值則認(rèn)為檢測(cè)到了一條直線。
步驟5.3由于重疊區(qū)域?yàn)閮蓚€(gè)螺紋間距的寬度,上方圖片中倒數(shù)第三根螺紋直線r[5]與圖片下邊界的距離s1,下方圖片中第一根r[0]螺紋直線與圖片上邊界距離s2,即可確定上下相鄰圖片重疊寬度s,s=s1+s2。
如上所述步驟六中全景圖像合成方法具體如下:
步驟6.1以第一個(gè)角度完成的第一列圖像為基準(zhǔn)圖像,先完成橫向拼接,再進(jìn)行縱向拼接,以保證一整根螺紋不會(huì)出現(xiàn)斷裂;
步驟6.2利用漸入漸出融合法實(shí)現(xiàn)重疊區(qū)域的無(wú)縫拼接;具體為:將重疊區(qū)域內(nèi)的像素值乘以其在兩幅圖像中的加權(quán)系數(shù),實(shí)現(xiàn)圖像間的平滑過(guò)渡,定義I1(x,y)、I2(x,y)分別為兩幅待拼接圖像中點(diǎn)的像素值,I3(x,y)為拼接后圖像中點(diǎn)的像素值,計(jì)算公式如下:
其中,λ為重疊區(qū)域的權(quán)重系數(shù),取值范圍為[0,1],左右相鄰圖片融合時(shí),λ計(jì)算公式如下:
式中,xmin和xmax分別表示重疊區(qū)域范圍內(nèi)的x軸的最左側(cè)和最右側(cè)坐標(biāo);ymin和ymax分別表示重疊區(qū)域范圍內(nèi)的y軸的最上方和最下方坐標(biāo);通過(guò)以上步驟最終生成螺栓孔內(nèi)壁全景圖像。
本發(fā)明的顯著效果在于:
在反應(yīng)堆壓力容器螺栓孔視頻檢查工作中,對(duì)于每個(gè)單獨(dú)的螺紋孔而言,可僅通過(guò)目視檢查一張螺紋全景圖即可完成視頻檢查工作。
附圖說(shuō)明
圖1為圖像拼接方法流程圖
圖2為陣列圖像拼接示意圖
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
如圖1所示,一種螺栓孔內(nèi)壁全景圖像合成方法,包括如下步驟:
步驟一:現(xiàn)場(chǎng)實(shí)測(cè),選定攝像頭參數(shù);將若干個(gè)攝像頭豎直排列,由機(jī)械臂送入螺栓孔內(nèi),根據(jù)現(xiàn)場(chǎng)實(shí)測(cè),選定鏡頭焦距與光圈大小,確保上下相鄰圖片重疊高度為兩個(gè)螺紋間距,左右相鄰圖片重疊寬度為圖片寬度的15%;
步驟一中的攝像頭利用機(jī)械移動(dòng)采集平臺(tái)進(jìn)行視頻錄制與圖片拍攝,所述機(jī)械移動(dòng)采集平臺(tái)用于同時(shí)承載清洗模塊、PLC控制器、工業(yè)攝像頭,以實(shí)現(xiàn)攝像頭邊錄制邊拍攝邊移動(dòng)。
步驟二、采集圖像:以螺栓孔軸心為旋轉(zhuǎn)心將攝像頭旋轉(zhuǎn)若干個(gè)角度拍攝螺紋內(nèi)壁圖像,采集螺栓孔內(nèi)壁全景分塊圖像并現(xiàn)場(chǎng)標(biāo)定重疊區(qū)域;采集圖像過(guò)程采用PLC控制電機(jī)以確保旋轉(zhuǎn)中心與螺栓孔軸心一致,所拍攝圖片覆蓋整個(gè)螺栓孔內(nèi)壁。
現(xiàn)場(chǎng)標(biāo)定重疊區(qū)域時(shí),確保上下相鄰圖片重疊高度為兩個(gè)螺紋間距,左右相鄰圖片重疊寬度為圖片寬度的15%,同時(shí)保證工業(yè)相機(jī)所拍攝圖像亮度適中,螺紋清晰可見。
步驟三、枕形畸變校正:對(duì)步驟二中拍攝的所有圖片建立枕形畸變模型,進(jìn)行畸變矯正,枕形畸變矯正具體方法為:
步驟3.1建立攝像機(jī)模型,確定相機(jī)內(nèi)參數(shù)矩陣;
在本例中,可視為將坐標(biāo)為(Xi,Yi,Zi)的物理點(diǎn)Qi映射到投影平面上坐標(biāo)為(xi,yi)的變換表示為:
q=MQ
其中,M為攝像機(jī)內(nèi)參數(shù)矩陣,且z=Z。fx、fy為有效焦距,(cx,cy)為光學(xué)中心。
經(jīng)棋盤圖像標(biāo)定攝像頭拍攝,實(shí)測(cè)出fx、fy均設(shè)為2000,調(diào)節(jié)攝像頭分辨率為1280×960,且成像儀芯片中心對(duì)光軸無(wú)偏移,即將設(shè)為(640,480)。
步驟3.2根據(jù)透鏡畸變?cè)?,建立相機(jī)畸變模型,確定相機(jī)畸變參數(shù)矩陣;
具體地,由于成像儀中心畸變?yōu)?,用r=0(r為像點(diǎn)到中心點(diǎn)的距離)位置周圍的泰勒級(jí)數(shù)展開的前幾項(xiàng)來(lái)定量描述畸變情況,徑向畸變通過(guò)三個(gè)參數(shù)k1,k2,k3來(lái)描述,表達(dá)式為:
xcorrected=x(1+k1r2+k2r4+k3r6)
ycorrected=y(tǒng)(1+k1r2+k2r4+k3r6)
切向畸變通過(guò)參數(shù)p1,p2來(lái)描述,表達(dá)式為:
xcorrected=x+[2p1y+p2(r2+2x2)]
ycorrected=y(tǒng)+[p1(r2+2y2)+2p2y]
其中,(x,y)是畸變點(diǎn)在成像儀上的原始位置,(xcorrected,ycorrected)是校正后的新位置,畸變向量為[k1,k2,p1,p2,k3]T。
步驟3.3對(duì)于每一個(gè)不同內(nèi)徑的螺栓孔及每一個(gè)攝像頭,選擇一副螺紋圖片,調(diào)整畸變向量至最佳矯正效果,記錄不同內(nèi)徑螺栓孔及不同攝像頭的畸變向量;
步驟3.4將記錄的畸變系數(shù)應(yīng)用于將要矯正的螺栓孔及攝像頭拍攝的圖片;
步驟3.5得到校正圖片。
步驟四、橫向拼接重疊像素?cái)?shù)確定:對(duì)步驟三中左右相鄰圖像重疊區(qū)域內(nèi)提取SURF特征,根據(jù)快速最近鄰算法匹配特征,利用RANSAC算法剔除誤匹配點(diǎn),計(jì)算待拼接圖像間的變換關(guān)系,確定橫向拼接重疊像素?cái)?shù);
具體橫向拼接重疊像素?cái)?shù)方法如下:
步驟4.1在需要橫向拼接的圖像重疊區(qū)域內(nèi)尋找SURF特征點(diǎn):
首先構(gòu)建積分圖像,將原圖像表示為I(x,y),像素點(diǎn)(x,y)對(duì)應(yīng)的在積分圖像中的值為I(x,y),則積分圖像I(x,y)是以原點(diǎn)和點(diǎn)(x,y)為對(duì)角線的矩形框內(nèi)所有點(diǎn)的像素值之和,如下式所示:
求取不同尺度的Hessian矩陣行列式的局部最大值得到尺度不變的特征點(diǎn)。圖像在σ尺度下的Hessian矩陣為:
其中,Lxx(X,σ)表示高斯二階偏導(dǎo)數(shù)與圖像在像素點(diǎn)(x,y)出的卷積,表示在σ尺度下該點(diǎn)在x方向上的二階偏導(dǎo)數(shù),g(σ)為高斯函數(shù),可以用下式來(lái)表達(dá):
在計(jì)算中用到高斯函數(shù)的二階偏導(dǎo)數(shù)與圖像的積分時(shí)為了提高運(yùn)算速度,采用盒狀濾波器來(lái)近似高斯函數(shù)的二階偏導(dǎo)數(shù)。也就是說(shuō),SURF特征點(diǎn)提取所建立的圖像尺度金字塔是通過(guò)保持原圖像的大小不變,改變盒狀濾波器的大小和高斯函數(shù)的尺度來(lái)實(shí)現(xiàn)的。
步驟4.2生成步驟4.1中SURF特征點(diǎn)的描述子
在確定特征點(diǎn)位置之后,利用haar小波對(duì)特征點(diǎn)進(jìn)行主方向的確定以保證特征點(diǎn)的旋轉(zhuǎn)和尺度不變性,在完成haar小波主方向確定之后,以特征點(diǎn)為中心,將坐標(biāo)軸旋轉(zhuǎn)到haar小波主方向上,做一個(gè)邊長(zhǎng)為20σ的正方形窗口,σ為高斯濾波器的尺度,并將窗口劃分為16個(gè)大小為5σ×5σ的子窗口區(qū)域;以采樣間隔σ,分別計(jì)算每個(gè)子窗口水平和垂直方向上的小波響應(yīng),得到的小波系數(shù)記為dx和dy;然后對(duì)響應(yīng)系數(shù)求和得到∑dx和∑dy,再求取響應(yīng)系數(shù)絕對(duì)值之和得到∑|dx|和∑|dy|;因此,每個(gè)子窗口都能夠得到一個(gè)4維向量v=[∑dx ∑dy ∑|dx| ∑|dy|],并且用這個(gè)向量來(lái)描述該特征點(diǎn);
步驟4.3利用近似最近鄰算法FLANN匹配特征點(diǎn):
根據(jù)特征向量之間的歐氏距離來(lái)衡量特征點(diǎn)的相似度,選取一張圖像中的一個(gè)特征點(diǎn)與別一張圖像中所有特征點(diǎn)分別求取歐式距離,從中選出最近鄰特征點(diǎn)歐式距離ρf和次近鄰特征點(diǎn)歐式距離ρs,并計(jì)算兩者的比值ρ。
對(duì)于比值小于某閾值ρm的特征點(diǎn),則認(rèn)為正確匹配并將正確匹配的特征點(diǎn)進(jìn)行連接,否則錯(cuò)誤匹配:
在本發(fā)明實(shí)例中,ρm取值為0.7。
步驟4.4采用RANSAC算法剔除誤匹配點(diǎn),得到最終匹配點(diǎn),具體步驟如下:
步驟4.4.1:從正確匹配的特征點(diǎn)對(duì)中隨機(jī)選擇m對(duì)特征點(diǎn)來(lái)求解單應(yīng)性矩陣模型H;
步驟4.4.2:將除上述m對(duì)特征點(diǎn)以外的其他特征點(diǎn)對(duì)利用H計(jì)算其對(duì)稱變換誤差di,統(tǒng)計(jì)誤差di<T_dist的內(nèi)點(diǎn)的個(gè)數(shù)M;T_dist為指定的一個(gè)閾值,用于表示歐式距離;
步驟4.4.3:若M>M_inlier,或者M(jìn)=M_inlier,則認(rèn)為H是當(dāng)前最好的模型,并且保存內(nèi)點(diǎn)M;M_inlier為指定的一個(gè)閾值,表示符合單應(yīng)性矩陣模型H的內(nèi)點(diǎn)的個(gè)數(shù);
步驟4.4.4:利用式(1)計(jì)算循環(huán)次數(shù)N,步驟4.4.1~步驟4.4.3執(zhí)行N次,當(dāng)循環(huán)結(jié)束時(shí),得到M最大的對(duì)應(yīng)的單應(yīng)性矩陣模型,得到最優(yōu)的模型矩陣:
其中ε為外點(diǎn)所占的比例,P表示置信概率。在本實(shí)例中,P取值為0.99,m取值為4。
步驟4.5根據(jù)匹配點(diǎn)計(jì)算投影變換矩陣,從而實(shí)現(xiàn)橫向拼接。
步驟五、縱向拼接重疊像素?cái)?shù)確定:對(duì)步驟三中上下相鄰圖像中采用霍夫直線檢測(cè)算法,提取每一根螺紋的位置信息,確定縱向拼接重疊像素?cái)?shù);
縱向拼接重疊像素?cái)?shù)具體方法如下:
步驟5.1對(duì)圖像進(jìn)行二值化處理,采用Canny算子檢測(cè)邊緣。
步驟5.2利用霍夫變換檢測(cè)螺紋直線,獲取直線特征。
對(duì)于任意一點(diǎn)(x0,y0),經(jīng)過(guò)這點(diǎn)的一簇直線表示為rθ=x0·cosθ+y0·sinθ,其中角度θ表示rθ與X軸之間的夾角,rθ為原點(diǎn)到直線幾何垂直距離。通過(guò)概率霍夫變換,高于閾值則認(rèn)為檢測(cè)到了一條直線。該實(shí)例中閾值為400。根據(jù)角度與截距篩選直線,則檢測(cè)到的直線位置就是螺紋的位置。
步驟5.3由于重疊區(qū)域?yàn)閮蓚€(gè)螺紋間距的寬度,上方圖片中倒數(shù)第三根螺紋直線r[5]與圖片下邊界的距離s1,下方圖片中第一根r[0]螺紋直線與圖片上邊界距離s2,即可確定上下相鄰圖片重疊寬度s,s=s1+s2。
步驟六、全景圖像合成:選取左上方第一張圖像為基準(zhǔn)圖像,根據(jù)步驟3.1和步驟3.2確定的重疊區(qū)域先橫向拼接后縱向拼接,對(duì)拼接區(qū)域采用漸入漸出方式融合,最終合成螺栓孔內(nèi)壁全景圖像。
全景圖像合成方法具體如下:
步驟6.1以第一個(gè)角度完成的第一列圖像為基準(zhǔn)圖像,先完成橫向拼接,再進(jìn)行縱向拼接,以保證一整根螺紋不會(huì)出現(xiàn)斷裂。
步驟6.2利用漸入漸出融合法實(shí)現(xiàn)重疊區(qū)域的無(wú)縫拼接。具體為,將重疊區(qū)域內(nèi)的像素值乘以其在兩幅圖像中的加權(quán)系數(shù),實(shí)現(xiàn)圖像間的平滑過(guò)渡,定義I1(x,y)、I2(x,y)分別為兩幅待拼接圖像中點(diǎn)的像素值,I3(x,y)為拼接后圖像中點(diǎn)的像素值,計(jì)算公式如下:
其中,λ為重疊區(qū)域的權(quán)重系數(shù),取值范圍為[0,1],左右相鄰圖片融合時(shí),λ計(jì)算公式如下:
式中,xmin和xmax分別表示重疊區(qū)域范圍內(nèi)的x軸的最左側(cè)和最右側(cè)坐標(biāo);ymin和ymax分別表示重疊區(qū)域范圍內(nèi)的y軸的最上方和最下方坐標(biāo)。通過(guò)以上步驟最終生成螺栓孔內(nèi)壁全景圖像。