我试图使用OpenCV中的HoughLinesP
(概率霍夫线变换)获取铣刀刀片所形成的线的坐标,但到目前为止,我无法使它起作用。
我尝试了以下方法:
import cv2
import matplotlib.pyplot as plt
import numpy as np
img = cv2.imread('image.bmp')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 150, 220)
lines = cv2.HoughLinesP(edges, 6, np.pi / 60, 5)
lined = img.copy()
for x1, y1, x2, y2 in lines[0]:
cv2.line(lined, (x1, y1), (x2, y2), (0, 0, 255), 2)
HoughLinesP返回的线段不会延伸到整个刀片的长度。
这是Canny边缘检测输出,以及我正在关注的区域。对我来说,像素似乎是一条直线。霍夫变换功能不应该返回刀片形成的线段吗?
有人对我将如何改善线段的检测有想法吗?
谢谢