【发布时间】:2020-11-16 21:57:06
【问题描述】:
我正在寻找一种将多个图像分割成适当矩形的方法。这些矩形的形状非常理想,使得它们中的每一个都具有尽可能大的尺寸,而不会包含很多白色。
注意重叠的矩形、孔和非轴对齐的矩形,所有这些都可能是我必须处理的场景。
我的目标是获取描述矩形角块的坐标,例如
[[(73,13),(269,13),(269,47)(73,47)],
[(73,13),(73,210),(109,210),(109,13)]
...]
为了做到这一点,我已经查看了cv2.findContours,但我无法让它处理重叠的矩形(尽管我可以使用层次模型来处理孔,因为这会导致轮廓被合并到一个。
请注意,虽然未显示孔可以嵌套。
【问题讨论】:
-
如果有人有任何其他问题,请向他们提问,部分答案和闲散猜测也很有帮助。
-
如果通过
approxPolyDP简化轮廓后可以找到平行线段的端点,则可以取较长的线段反射到另一条线段,以获得角点。 -
@Burak 如果你的形状上有洞,那不是会造成麻烦吗?
-
是的,也应该检查孔。如果短线段级别有孔,则该矩形无效。如果不是在短线段而是在长线段级别有孔,则将带孔的零件扔出后仍然有一个有效的矩形。
-
您可能会更幸运地在数学堆栈交换网站上询问数学家。
标签: python opencv image-processing computer-vision scikit-image