算子
create_shape_model()
創建一個用于匹配的形狀模型
create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)
參數
Template:
NumLevels:金字塔越高層,識別對象使用的點的數量越少,識別速度越快,但前提是要能把目標正確識別出來。
AngleStart:匹配開始時,模板先以AngleStart的角度在圖片上尋找目標對象,完成以后,模板旋轉AngleStep角度,繼續匹配,以此類推,一直旋轉到AngleStart+AngleExtent角度為止。
AngleExtent:參考AngleStart。
AngleStep:參考AngleStart。
Optimization:如果設為none,那么將存儲模型所有的點,這么一來,會影響速度,而如果設為其他選項,則會相應減少存儲的點,加快匹配運算速度。只是可能需要在后續的find_shape_model()算子中把greedy設為較小的值。
Metric:根據對比度選擇匹配對象,例如,白底黑對象,是否只匹配白底黑對象,還是說只要形狀一致,黑底白對象也會被選擇。
Contrast:對象與背景的灰度值之差要大于此值。
MinContrast:該參數將模型與圖像中的噪聲分離開來。因此,一個很好的選擇是圖像中噪聲引起的灰度值變化范圍。例如,如果灰度值在10個灰度級范圍內波動,則MinContrast應設置為10。
ModelID:生成的句柄
determine_shape_model_params()
確定形狀模型的具體參數。
由于使用create_shape_model()創造形狀模型時,很多參數都是使用auto值,而如果想確定這個auto具體是等于多少,可以使用該指令。
find_shape_model()
在圖像中找到形狀模型的最佳匹配
find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)
參數
Image:匹配目標的圖像。
ModelID:匹配句柄。
AngleStart:參考create_shape_model()。
AngleExtent:參考create_shape_model()。
MinScore:目標匹配分數必須大于此值才能被認為是目標對象。
NumberMatches:當設為0,表示要搜索圖像上所有分數大于MinScore的對象,否則,按照設定值去搜索目標對象。
MaxOverlap:如果兩個目標對象發生層疊,那么按照0-1的分數評判二者層疊的程度,如果層疊程度小于此值,那么返回兩個對象,如果大于此值,則返回最佳實例。如想返回所有實例,可以設為1.
SubPixel:決定是否應該以亞像素精度提取實例。
NumLevels:匹配中使用的金字塔層數,如果設為0,則使用create_shape_model()時的金字塔層數。
Greediness:當值為0時,速度慢,但該撿出來的對象都會檢出。當值為1,檢索速度最快,但可能漏檢對象。
Row, Column, Angle, Score:目標對象的橫列坐標,角度和分數。