我是一个完全不同的学科的人,需要一些图像处理技术来实现项目中的这个目标.我需要从室内平面图中得出边缘,如下所示

我试过这个特殊的Python边缘检测片段:
from PIL import Image, ImageFilter
image = Image.open('L12-ST.jpg')
image = image.filter(ImageFilter.FIND_EDGES)
image.save('new_name.png')
Run Code Online (Sandbox Code Playgroud)
然而,它返回的细节远远超出我的需要.它基本上检测所有边缘,包括房间墙壁.实际上,我需要的只是走廊的墙壁.所以我期待这样的事情

我怎么能这样做?我正在使用Python,但非常感谢任何通用或一般指针甚至一些关键字.
我试图获得他们在本教程中为HoughLinesP过滤器获得的相同结果.我拍摄了相同的图像和相同的阈值,如下所示:
import cv2
from line import Line
import numpy as np
img = cv2.imread('building.jpg',1)
cannied = cv2.Canny(img, 50, 200, 3)
lines = cv2.HoughLinesP(cannied, 1, np.pi / 180, 80, 30, 10)
for leftx, boty, rightx, topy in lines[0]:
line = Line((leftx, boty), (rightx,topy))
line.draw(img, (255, 255, 0), 2)
cv2.imwrite('lines.png',img)
cv2.imwrite('canniedHouse.png',cannied)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
Lineclass是一个自定义类,它不会做任何有趣的事情只计算一些东西并且可以画线.然后我得到这两个图像:

所以你可以看到我在图像的中间只有一条litle线.
不确定出了什么问题.我错过了什么?
谢谢.