考虑图像中的三个点 A、B、C。
下面是它们在 300x300 大小的图像中的坐标。
我正在尝试使用下面的 HoughLinesP 代码检测并绘制一条连接这三个点的线。
import cv2
import numpy as np
img = cv2.imread('test.png')
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #Convert img to grayscale
lines = cv2.HoughLinesP(img, rho=1, theta=np.pi/180, threshold=1, minLineLength=5, maxLineGap=10)
print(lines)
for line in lines:
x1, y1, x2, y2 = line[0]
cv2.line(img, (x1, y1), (x2, y2), 255, 1)
cv2.imshow("result", img)
但是它检测到一条只通过B和C的线。为什么会这样?
Output:
[[[110 100 120 100]]]