create_shape_model_xld(Contours : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, MinContrast : ModelID)
-
NumLevels:金字塔的层数,可以设置为"auto"或0-10的整数。层数越大,匹配所需时间越短,但特征提取越少,精度越低。
-
AngleStart 和 AngleExtent:决定模板可能的旋转范围,AngleStep 指定角度范围搜索的步长。
-
Optimization:对于特别大的模板图像,设置为非"none"的值可以减少模型点数,提高搜索速度。
-
Metric:决定匹配模板的条件,例如"ignore_global_polarity"允许对比度全局反转时也能找到目标。
-
Contrast 和 MinContrast:决定模型点的对比度,帮助模板从图像噪声中分离出来。
read_image (Image20230705102939491, 'E:/项目/上料/11拉/20230703/11标定图/泡沫竖1/1.bmp')
gen_rectangle1 (ROI_0, 859.82, 2885.07, 1413.1, 3534.41)
reduce_domain(Image20230705102939491, ROI_0, ImageReduced)
threshold(ImageReduced, Region, 158, 255)
connection(Region, ConnectedRegions)
closing_circle(ConnectedRegions, RegionClosing, 123.5)
select_shape (RegionClosing, SelectedRegions, 'area', 'and', 150, 999999)
union1 (SelectedRegions, RegionUnion)
gen_contour_region_xld(RegionUnion, Contours, 'border')
dev_display(Image20230705102939491)
dev_display(Contours)
create_shape_model_xld(Contours, 'auto', rad(0), rad(360), 'auto', 'auto', 'ignore_local_polarity', 5, ModelID)
read_image (Image20230705102939491, 'E:/项目/上料/11拉/20230703/11标定图/泡沫竖1/1.bmp')
gen_rectangle1 (ROI_0, 811.18, 2622.41, 1619.82, 3767.88)
reduce_domain(Image20230705102939491, ROI_0, ImageReduced1)
find_shape_model(ImageReduced1, ModelID, rad(0), rad(360), 0.1, 1, 0.8, 'least_squares', 0, 0.9, Row, Column, Angle, Score)
dev_display_shape_matching_results (ModelID, 'red', Row, Column, Angle, 1, 1, 0)
创建形状模型(create_shape_model)
参数解释
-
NumLevels:金字塔的层数,可以设置为"auto"或0-10的整数。层数越大,匹配所需时间越短,但特征提取越少,精度越低。
-
AngleStart 和 AngleExtent:决定模板可能的旋转范围,AngleStep 指定角度范围搜索的步长。
-
Optimization:对于特别大的模板图像,设置为非"none"的值可以减少模型点数,提高搜索速度。
-
Metric:决定匹配模板的条件,例如"ignore_global_polarity"允许对比度全局反转时也能找到目标。
-
Contrast 和 MinContrast:决定模型点的对比度,帮助模板从图像噪声中分离出来。
重要考虑
在使用create_shape_model时,需要考虑到模板图像的大小和复杂性,以及匹配过程中可能出现的变化。例如,如果模板图像较小,可能需要设置较大的AngleStep。此外,Optimization 参数的选择将影响模型点的数量,进而影响匹配过程的速度和准确性。
read_image (Image20230705102939491, 'E:/项目/上料/11拉/20230703/11标定图/泡沫竖2/11.bmp')
gen_rectangle1 (ROI_0, 2050.36, 2764.05, 2575.67, 3499.49)reduce_domain(Image20230705102939491, ROI_0, ImageReduced)
inspect_shape_model(ImageReduced, ModelImages, ModelRegions, 4, 30)
create_shape_model(ImageReduced, 'auto',rad(0), rad(360), 'auto','auto', 'use_polarity', 'auto', 'auto', ModelID1)
dev_display(Image20230705102939491)
read_image (Image20230705102942272, 'E:/项目/电芯上料现场/江苏11拉/20230703/11标定图/泡沫竖2/11.bmp')
gen_rectangle1 (ROI_0, 1977.4, 2527.66, 2699.7, 3788.41)
reduce_domain(Image20230705102942272, ROI_0, ImageReduced1)
find_shape_model(ImageReduced1, ModelID1, rad(0), rad(360), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row1, Column1, Angle1, Score1)
dev_display_shape_matching_results (ModelID1, 'red', Row1, Column1, Angle1, 1, 1, 0)
create_ncc_model在映像中传递模板作为 NCC 模型,用于 使用归一化互相关 (NCC) 进行匹配的 ROI 模型作为模板.
read_image (Image20230705102939491, 'E:/项目/电芯上料现场/江苏11拉/20230703/11标定图/取料竖1/1.bmp')
dev_set_draw ('margin')
gen_circle (ROI_0, 1111.36, 2366.58, 229.266)
reduce_domain(Image20230705102939491, ROI_0, ImageReduced)
scale_image(ImageReduced, ImageScaled, 1.5, -120)
create_ncc_model(ImageScaled, 'auto', Angle1, Angle1, Angle1, 'use_polarity', ModelID2)
read_image (Image20230705102942272, 'E:/项目/电芯上料现场/江苏11拉/20230703/11标定图/取料竖1/1.bmp')
gen_rectangle1 (ROI_0, 817.56, 2023.54, 2231.8, 3820.21)
reduce_domain(Image20230705102942272, ROI_0, ImageReduced1)
find_ncc_model(ImageReduced1, ModelID2, Angle1, Angle1, 0.8, 1, 0.5, 'true', 0, Row2, Column2, Angle2, Score2)
gen_cross_contour_xld (Cross, Row2, Column2, 60, Angle2)