我有一个平面图图像。通过 opencv houghlines 方法,我想识别其中的墙壁。由于墙壁线条的大小大于图像中对象的线条,我想增加要搜索的线条的大小。通常,即使阈值增加,代码也会识别对象中的行。我是这个平台的新手。有人可以帮助我吗?
当我增加阈值时,一些对象线仍然存在,但墙壁上的一些线丢失了。这是我增加阈值时的结果
这是代码:
import cv2
import numpy as np
img = cv2.imread("C:\\Users\\User\\Desktop\\tkinter_codes\\floorplans\\ROBIN\\Dataset_3roomsmall\\Cat1_1.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,900,1000,apertureSize = 5)
cv2.imshow('edges', edges)
lines = cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength=100,maxLineGap=10)
for line in lines:
x1,y1,x2,y2 = line[0]
cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)
cv2.imshow('image', img)
k = cv2.waitKey(0)
cv2.destroyAllWindows()