QQ登录

只需一步,快速开始

halcon区域测试相关函数介绍

[ 复制链接 ]
1.test_equal_region(Regions1, Regions2 : : : IsEqual)
函数将Regions1, Regions2内的区域一一成对比较,每对都相同IsEqual返回true,否则返回false/
例程:
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 150, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 20000, 100000)
select_obj (SelectedRegions, ObjectSelected, 1)
move_region (ObjectSelected, RegionMoved, 30, 30)
test_equal_region (ObjectSelected, ObjectSelected, IsEqual)


2.test_region_point(Regions : : Row, Column : IsInside)
用于测试指定区域是否包含指定的点。
如果传递一个区域数组和一个测试点,则test_region_point测试区域数组内是否至少有一个区域包含(Row, Column )单个测试点。
如果包含,IsInside被设置为TRUE,否则为FALSE。


或者,如果提供了单个区域和多个测试点,
那么test_region_point测试是否至少有一个测试点(在Row, Column中给出)包含在此区域中。
如果包含,则将IsInside设置为TRUE,否则将其设置为FALSE。
如果( Row, Column)是实值,则在内部执行舍入,因为区域是像素精度。
例程可在前面例程添加一代码测试
test_region_point (RegionMoved, 100, 100, IsInside)


3.test_subset_region(Region1, Region2 : : : IsSubset)
test_subset_region测试Region1是否是Region2的子集,并通过参数IsSubset返回结果。
如果要测试多个区域,则Region1和Region2必须具有相同数量的元素。
在这种情况下,IsSubset返回的结果元素个数和Region1或Region2一样多。
例程:
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 150, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 20000, 100000)
select_obj (SelectedRegions, ObjectSelected, 1)
move_region (ObjectSelected, RegionMoved, 30, 30)
test_equal_region (ObjectSelected, ObjectSelected, IsEqual)
test_region_point (RegionMoved, 100, 100, IsInside)
zoom_region (ObjectSelected, RegionZoom, 0.5, 0.5)
area_center (RegionZoom, Area1, Row1, Column1)
area_center (ObjectSelected, Area, Row, Column)
move_region (RegionZoom, RegionMoved1, Row-Row1, Column-Column1)
test_subset_region (RegionMoved1, ObjectSelected, IsSubset)//IsSubset为1



  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索