猿问

如何删除(嘈杂和短)行?

在 Python 中使用 OpenCV,我试图在我的图像中找到水平线和垂直线。

这是我的输出:

垂直线

水平线

http://img.mukewang.com/6124b17f0001d61009251042.jpg

好吧,我试图只检测长线并删除短(嘈杂)线。

我希望我的输出看起来像这个修改后的图像:

Final_Horizontal_lines

http://img1.mukewang.com/6124b19200011f9f09320992.jpg

如果需要,我可以为您提供我的代码。


森栏
浏览 126回答 1
1回答

慕丝7291255

您可以通过使用轮廓来解决该问题。im2, contours, hierarchy = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)for contour in contours:&nbsp; &nbsp; (x, y, w, h) = cv2.boundingRect(contour)&nbsp; &nbsp; # if h<500: # check the length of verical lines&nbsp;&nbsp; &nbsp; if w<500: # check the length of horizontal lines&nbsp; &nbsp; &nbsp; &nbsp; cv2.fillConvexPoly(gray,contour,0) #fill the contour with black color
随时随地看视频慕课网APP

相关分类

Python
我要回答