gpt4 book ai didi

python - 如何获得多个独立形状的组合凸包

转载 作者:行者123 更新时间:2023-11-30 03:21:16 29 4
gpt4 key购买 nike

我有 2 个形状(图 1),需要找到一个将它们组合起来的凸包(图 2)。更准确地说,我有兴趣获得外角(紫色圆圈图 2)。形状是分离的。我描绘的形状是一张方形透明塑料片,侧面有两条彩色条纹。条纹非常容易追踪 (inRange)。

我想到的一种快速而肮脏的方法是用白线连接条纹的中心,然后获得 convexHull。我也在考虑连接两种形状的顶点列表并获得组合的 convexHull 但我不确定这种方法是否会使 convexHull 函数崩溃。

有没有更优雅的方法来解决这个问题?

请帮忙

图1

enter image description here

图2

enter image description here

最佳答案

问题已解决。

像魅力一样工作。不同形状的连接点不会使 convexHull 崩溃。

我在 GitHub 上发布了代码 https://github.com/wojciechkrukar/OpenCV/blob/master/RectangleDetector/RectangleDetector.ipynb

这是结果:

enter image description here

这是最重要的代码块:

_ , contours,hier = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
#size of contour points
length = len(contours)
#concatinate poits form all shapes into one array
cont = np.vstack(contours[i] for i in range(length))
hull = cv2.convexHull(cont)
uni_hull = []
uni_hull.append(hull) # <- array as first element of list
cv2.drawContours(image,uni_hull,-1,255,2);

关于python - 如何获得多个独立形状的组合凸包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52197918/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com