您好、欢迎来到现金彩票网!
当前位置:2019正版免费全年资料 > 凸包 >

C++ 散点聚类凸包相交问题

发布时间:2019-07-28 07:23 来源:未知 编辑:admin

  二维散点图聚类后要求在每一类外围用线圈起来,期初用opencv的凸包检测方法。现在遇到一种情况使用凸包的方法会使外围线相交,如图。上面的类如果检测凸包那么下面两点会连起来,这样...

  二维散点图聚类后要求在每一类外围用线圈起来,期初用opencv的凸包检测方法。现在遇到一种情况使用凸包的方法会使外围线相交,如图。上面的类如果检测凸包那么下面两点会连起来,这样就穿越了下面的图形。有什么方法可以绘制出如下图的外围吗?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  这个问题是可以做的,首先要确定的是两类点有两个凸包,需要分别求解。这个是二维点集生成平面图形的问题,解决你给的这个问题的方法有很多。我给个思路,在凸包(Convex Hull)的生成过程中,采用的是从某一个基点(比如最左下角的点),将所有其他点与该点连线的斜率均计算出来,按照一定的顺序(比如斜率从小到大的顺序)将各个点连接起来,这个是原始的凸包算法,这个算法中只考虑了斜率,没考虑两个点距离。因此,你这个问题需要把两点间距离考虑进来,把距离d和斜率k综合考虑。具体实现过程你可以自己完成了,顺便多说一句,最好把d设置成一个可变化的量,比如当寻找到的下一个点是个错误的点,那么就把d变化为原来的1.2倍再尝试。

http://exlei.net/tubao/391.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有