Python 查找未完成形状的轮廓并将其连接在一起
我有一个带形状的图像。由于某些原因,findContours在我的图像中没有检测到任何轮廓,我想知道原因。我自己也用颜料做了一个形状,这个形状很相似,这个功能也可以工作。形状不完整我想知道是否有可能通过轮廓“关闭”形状Python 查找未完成形状的轮廓并将其连接在一起,python,opencv,opencv-contour,Python,Opencv,Opencv Contour,我有一个带形状的图像。由于某些原因,findContours在我的图像中没有检测到任何轮廓,我想知道原因。我自己也用颜料做了一个形状,这个形状很相似,这个功能也可以工作。形状不完整我想知道是否有可能通过轮廓“关闭”形状 您可以使用水平内核略大于间隙的形态学打开来填充边界的黑线。@fmw42我尝试过如何使用水平内核,但找不到它。如果可能的话,你能给我一行代码吗?谢谢我不能给你一个用形态学来填补你第二张照片空白的解决方案。第一个映像更容易,因为间距相对较短且水平,并且可以轻松创建水平内核。第二张
您可以使用水平内核略大于间隙的形态学打开来填充边界的黑线。@fmw42我尝试过如何使用水平内核,但找不到它。如果可能的话,你能给我一行代码吗?谢谢我不能给你一个用形态学来填补你第二张照片空白的解决方案。第一个映像更容易,因为间距相对较短且水平,并且可以轻松创建水平内核。第二张图片更难,因为与您的身材相比,在对角线上的差距更大。
img = cv2.imread("crop4_2.png", cv2.IMREAD_GRAYSCALE)
contours, hierarchy = cv2.findContours(img, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE)
for c in contours:
cv2.drawContours(img, [c], -1, (random.randrange(0, 255), random.randrange(0, 256), random.randrange(0, 255)), 50)