dev_close_window ()
dev_open_window (0, 0, 812, 512, 'black', WindowHandle)
read_image (Image222, 'C:/Users/Wzh/Desktop/222.png')
* rgb1_to_gray (Image222, GrayImage)
edges_sub_pix (Image222, Edges, 'canny', 3.5, 15,30)//使用滤波器提取精确边界:
*想根据提取到的边界(Edges),将GrayImage分割成6个椭圆.
你可以试试凸包(convex hull)
https://www.cnblogs.com/jclian91/p/9728488.html
Halcon没用过不清楚,但是opencv里面有个findcontours()函数可以寻找到轮廓,返回的轮廓形如[[[x,y],[x,y],...],[[m,n],[m,n].....],差不多就是轮廓的集合,每个轮廓可以包含每个边缘点(参数设置,详情可以看看参数说明),然后用drowContours函数,这个可以通过遍历你找到的Edges里面的点按照找顺序连成线。然后你说的面积opencv里面也有个函数contourArea(),这个就是计算轮廓面积的,然后轮廓中心也有函数可以实现,不过这个没有直接的,需要转一下,先用moments()计算图像矩,然后得到一阶矩就是轮廓的中心(质心)。这个是opencv的,不过我感觉halcon应该也有这些东西,可能函数名不一样,但是功能肯定差不多。