Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 查找未完成形状的轮廓并将其连接在一起_Python_Opencv_Opencv Contour - Fatal编程技术网

Python 查找未完成形状的轮廓并将其连接在一起

Python 查找未完成形状的轮廓并将其连接在一起,python,opencv,opencv-contour,Python,Opencv,Opencv Contour,我有一个带形状的图像。由于某些原因,findContours在我的图像中没有检测到任何轮廓,我想知道原因。我自己也用颜料做了一个形状,这个形状很相似,这个功能也可以工作。形状不完整我想知道是否有可能通过轮廓“关闭”形状 您可以使用水平内核略大于间隙的形态学打开来填充边界的黑线。@fmw42我尝试过如何使用水平内核,但找不到它。如果可能的话,你能给我一行代码吗?谢谢我不能给你一个用形态学来填补你第二张照片空白的解决方案。第一个映像更容易,因为间距相对较短且水平,并且可以轻松创建水平内核。第二张

我有一个带形状的图像。由于某些原因,findContours在我的图像中没有检测到任何轮廓,我想知道原因。我自己也用颜料做了一个形状,这个形状很相似,这个功能也可以工作。形状不完整我想知道是否有可能通过轮廓“关闭”形状


您可以使用水平内核略大于间隙的形态学打开来填充边界的黑线。@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)