在HDevelop中
dev_close_window () read_image (W, 'D:/bb/tu/8.jpg') rgb1_to_gray (W, GrayImage) ****截取模板圖像:O字母**** gen_rectangle1 (Rectangle, 30, 378, 89, 440) reduce_domain (GrayImage, Rectangle, ImageReduced) ****創建模板**** create_ncc_model(ImageReduced, 'auto', -0.2, 0.2, 0.1, 'use_polarity', ModelID) *創建NCC模板 *注意:NCC匹配屬於鋼性匹配,不能有變形 *參數1:單通道圖像,它的區域可被創建為模板 *參數2:金字塔的最大層級--層級越高搜索越快 * 值列表:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto' *參數3:模板旋轉的起始角度--弧度 *參數4:模板旋轉的終止角度--弧度 *參數5:角度步長 * 限制:角度步長>=0和角度步長<=pi/16 *參數6:匹配標准 * 'ignore_global_polarity' * 'use_polarity' *參數7:返回的模板句柄 find_ncc_model (GrayImage, ModelID, -0.2, 0.2, 0.8, 2, 0.5, 'true', 0, Row, Column, Angle, Score) *NCC模板匹配 *該模板必須是調用create_ncc_model或read_ncc_model創建的 *注意:NCC對圖像中的遮擋和雜波以及非線性照明變化非常敏感。 * 如果應在遮擋、雜波或非線性照明變化的情況下找到模型,則應使用基於形狀的匹配來執行搜索 *參數1:輸入圖像--單通道圖像 *參數2:模板句柄 *參數3:模板旋轉的起始角度--弧度 *參數4:模板旋轉的終止角度--弧度 * 參數3和參數4 跟create_ncc_model相同 *參數5:被找到的模板最小分數--大於等於這個值才能被匹配 * 默認值:0.8 建議值:0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0 * 典型值范圍:0≤ MinScore≤ 1 * 最小增量:0.01 建議增量:0.05 *參數6:要找到的模板實例數 *參數7:要找到的模型實例的最大重疊 *參數8:亞像素精度。 默認值:'true' 值列表:'false'、'true' *參數9:金字塔層級數 *參數10:Row(out):被找到的模板實例行坐標 *參數11:Column(out):被找到的模板實例列坐標 *參數12:Angle(out):被找到的模板實例的旋轉角度 * 理解:看下面圖 * 小於1度的時候halcon會返回負值 *參數13:Score(out):被找到的模板實例的分數 * 如果沒有匹配到 Score為空
在QtCreator中
HObject ho_W, ho_GrayImage, ho_Rectangle, ho_ImageReduced;
HTuple hv_ModelID, hv_Row, hv_Column, hv_Angle;
HTuple hv_Score;
ReadImage(&ho_W, "D:/bb/tu/8.jpg"); Rgb1ToGray(ho_W, &ho_GrayImage); //***截取模板圖像:O字母**** GenRectangle1(&ho_Rectangle, 30, 378, 89, 440); ReduceDomain(ho_GrayImage, ho_Rectangle, &ho_ImageReduced); //***創建模板**** CreateNccModel(ho_ImageReduced, "auto", -0.2, 0.2, 0.1, "use_polarity", &hv_ModelID); //創建NCC模板 //注意:NCC匹配屬於鋼性匹配,不能有變形 //參數1:單通道圖像,它的區域可被創建為模板 //參數2:金字塔的最大層級--層級越高搜索越快 // 值列表:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto' //參數3:模板旋轉的起始角度--弧度 //參數4:模板旋轉的終止角度--弧度 //參數5:角度步長 // 限制:角度步長>=0和角度步長<=pi/16 //參數6:匹配標准 // 'ignore_global_polarity' // 'use_polarity' //參數7:返回的模板句柄 FindNccModel(ho_GrayImage, hv_ModelID, -0.2, 0.2, 0.8, 2, 0.5, "true", 0, &hv_Row, &hv_Column, &hv_Angle, &hv_Score); //NCC模板匹配 //該模板必須是調用create_ncc_model或read_ncc_model創建的 //注意:NCC對圖像中的遮擋和雜波以及非線性照明變化非常敏感。 // 如果應在遮擋、雜波或非線性照明變化的情況下找到模型,則應使用基於形狀的匹配來執行搜索 //參數1:輸入圖像--單通道圖像 //參數2:模板句柄 //參數3:模板旋轉的起始角度--弧度 //參數4:模板旋轉的終止角度--弧度 // 參數3和參數4 跟create_ncc_model相同 //參數5:被找到的模板最小分數--大於等於這個值才能被匹配 // 默認值:0.8 建議值:0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0 // 典型值范圍:0≤ MinScore≤ 1 // 最小增量:0.01 建議增量:0.05 //參數6:要找到的模板實例數 //參數7:要找到的模型實例的最大重疊 //參數8:亞像素精度。 默認值:'true' 值列表:'false'、'true' //參數9:金字塔層級數 //參數10:Row(out):被找到的模板實例行坐標 //參數11:Column(out):被找到的模板實例列坐標 //參數12:Angle(out):被找到的模板實例的旋轉角度 // 理解:看下面圖 // 小於1度的時候halcon會返回負值 //參數13:Score(out):被找到的模板實例的分數 // 如果沒有匹配到 Score為空