本篇主要總結(jié)一下缺陷檢測(cè)中測(cè)量擬合的方法。通過測(cè)量被測(cè)物的尺寸(長短粗細(xì)、高矮胖瘦、間隙寬窄,包括我以前做過的平面度、平行度、輪廓度)等問題來檢測(cè)產(chǎn)品是否合格。
測(cè)量擬合
在產(chǎn)品生產(chǎn)過程中會(huì)不可避免的產(chǎn)生尺寸缺陷和表面外觀缺陷,前幾篇的缺陷著重于表面外觀的檢測(cè),本篇基于尺寸缺陷檢測(cè)用測(cè)量擬合的方法來實(shí)現(xiàn)。
halcon中測(cè)量算子分析:
在機(jī)器視覺中,測(cè)量是必不可少的一個(gè)分支。測(cè)量主要包括有物體大小的測(cè)量、距離的測(cè)量以及物體完整度檢測(cè)等。在工業(yè)機(jī)器視覺里面常用的有1維測(cè)量和2維測(cè)量,不過大部分的測(cè)量都是要基于標(biāo)定之后(需要獲取環(huán)境參數(shù),比如得到pixel的物理大。┎唤(jīng)過標(biāo)定的測(cè)量都只是測(cè)量物體的相對(duì)大。ㄏ袼卮笮。。
1維測(cè)量:
像點(diǎn)到點(diǎn)的距離,邊緣對(duì)的距離等沿著一維方向的測(cè)量都屬于1D測(cè)量范疇。Halocn的一維測(cè)量的步驟:
創(chuàng)建測(cè)量矩形或者測(cè)量扇形區(qū)域(gen_measure_rectangle2,gen_measure_arc)
測(cè)量單邊緣或邊緣對(duì)(measure_pos,measure_pairs)
顯示
相關(guān)算子:
gen_measure_rectangle2(形成測(cè)量矩形)
gen_measure_rectangle2( Row, Column, Phi, Length1, Length2, Width, Height, Interpolation : MeasureHandle)
參數(shù)列表:
Row//仿射矩形中心行坐標(biāo)
Column//仿射矩形中心列坐標(biāo)
Phi//仿射矩形的縱軸水平角,單位弧度 ,注意:測(cè)量矩形的測(cè)量方向的選擇
Length1//仿射矩形寬度的一半
Length2//仿射矩形高度的一半
Width//圖像的寬度
Height//圖像的高度
Interpolation //插值類型('bicubic', 'bilinear', 'nearest_neighbor')
MeasureHandle//測(cè)量對(duì)象句柄
gen_measure_arc(形成測(cè)量扇形)
gen_measure_arc( Row, Col, Radius, AngleStart, AngleExtent, Radius, Width, Height, Interpolation :MeasureHandle)
參數(shù)列表:
Row//中心點(diǎn)行坐標(biāo)
Col//中心點(diǎn)列坐標(biāo)
AngleStart//起始角度
AngleExtent//角度范圍
Radius//半徑
Width//圖像寬
Height//圖像高
Interpolation //插值方法
MeasureHandle//句柄
measure_pos(測(cè)量單邊緣)
measure_pos (Image, MeasureHandle, Sigma, Threshold, Transition, Select, RowEdge, ColumnEdge, Amplitude, Distance)
參數(shù)列表:
Sigma//高斯平滑系數(shù)(圖像上可能會(huì)有噪點(diǎn),影響我們對(duì)邊緣的判斷)
Threshold//閾值(代表閾值超過該值把它當(dāng)做邊緣)
Transition//極性
Select//邊緣選擇
RowEdge//找到的邊緣中心的行坐標(biāo)
ColumnEdge//找到的邊緣中心列坐標(biāo)
Amplitude//邊緣幅度
Distance//相鄰邊緣之間的距離
measure_pairs(測(cè)量邊緣對(duì))
measure_pairs(Image ,MeasureHandle, Sigma, Threshold, Transition, Select : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)
參數(shù)列表:
Image//輸入圖像
MeasureHandle//測(cè)量對(duì)象句柄
Sigma//高斯平滑參數(shù)
Threshold最//小邊緣幅度
Transition//邊緣對(duì)極性,
Select //選擇邊緣對(duì)
RowEdgeFirst//邊緣點(diǎn)對(duì)的第一個(gè)邊緣的中心行坐標(biāo)
ColumnEdgeFirst//邊緣點(diǎn)對(duì)的第一個(gè)邊緣的中心列坐標(biāo)
AmplitudeFirst//第一個(gè)邊緣的幅度
RowEdgeSecond//第二個(gè)邊緣中心行坐標(biāo)
ColumnEdgeSecond//第二個(gè)邊緣中心列坐標(biāo)
AmplitudeSecond//第二個(gè)邊緣幅度
IntraDistance//兩個(gè)邊緣對(duì)之間的距離
InterDistance//相鄰邊緣對(duì)之間的距離
二者區(qū)別:
translate_measure(轉(zhuǎn)換度量對(duì)象)
描述:一般用于一個(gè)程序中有很多測(cè)量矩形的情況,當(dāng)使用第二個(gè)測(cè)量矩形時(shí),不需要重新gen_measure_rectangle2生成,將第二個(gè)測(cè)量矩形的中心坐標(biāo)放到該算子的第二、三個(gè)參數(shù)當(dāng)中即可。
translate_measure( MeasureHandle, Row, Column )(選用)
參數(shù)列表:
MeasureHandle//測(cè)量句柄
Row//新參考點(diǎn)的行坐標(biāo)
Column //新參考點(diǎn)的列坐標(biāo)