weixin_44802005
吴 忠厚
采纳率0%
2021-03-03 14:52

Halcon:用提取的边界分割图像(分成的图像与边界相似)

50

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个椭圆.

  • 点赞
  • 收藏
  • 复制链接分享

2条回答

  • qq_34124780 qq_34124780 1月前

    Halcon没用过不清楚,但是opencv里面有个findcontours()函数可以寻找到轮廓,返回的轮廓形如[[[x,y],[x,y],...],[[m,n],[m,n].....],差不多就是轮廓的集合,每个轮廓可以包含每个边缘点(参数设置,详情可以看看参数说明),然后用drowContours函数,这个可以通过遍历你找到的Edges里面的点按照找顺序连成线。然后你说的面积opencv里面也有个函数contourArea(),这个就是计算轮廓面积的,然后轮廓中心也有函数可以实现,不过这个没有直接的,需要转一下,先用moments()计算图像矩,然后得到一阶矩就是轮廓的中心(质心)。这个是opencv的,不过我感觉halcon应该也有这些东西,可能函数名不一样,但是功能肯定差不多。

    点赞 评论 复制链接分享
  • Brentbin Brentbin 1月前

    你可以试试凸包(convex hull)

    https://www.cnblogs.com/jclian91/p/9728488.html

     

     

     

     

     

    点赞 评论 复制链接分享