【发布时间】:2018-02-01 18:38:58
【问题描述】:
我在使用霍夫线变换时遇到问题。我正在尝试确定厨房中的主要线路。我刚开始使用 Canny,但它接收到的噪音比我想要的要多,而且没有接收到墙壁和天花板的交汇处。但是,霍夫线变换只识别了一条根本不应该识别的线。任何帮助将不胜感激。
我的意见:
我的输出:
这是我的代码:
import cv2
import numpy as np
image = cv2.imread('kitchen_sample.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
lines = cv2.HoughLines(edges, 1, np.pi / 180, 200)
for rho, theta in lines[0]:
a = np.cos(theta)
b = np.sin(theta)
x0 = a * rho
y0 = b * rho
x1 = int(x0 + 1000 * (-b))
y1 = int(y0 + 1000 * a)
x2 = int(x0 - 1000 * (-b))
y2 = int(y0 - 1000 * a)
cv2.line(image, (x1, y1), (x2, y2), (0, 0, 255), 2)
cv2.imwrite('kitchen_lines.jpg', image)
【问题讨论】:
标签: python opencv hough-transform canny-operator