标准霍夫线变换
cv2.HoughLines(image, rho, theta, threshold[, lines[, srn[, stn[, min_theta[, max_theta]]]]])
-> lines
参数:image-边缘检测的输出图像,8位,单通道二进制源图像
rho-距离步长
theta-角度步长
threshold-阈值,只有大于该值的点才有可能被当作极大值,即至少有多少条正弦曲线交于一点才被认为是直线
统计概率霍夫线变换cv2.HoughLinesP(image, rho, theta, threshold[, lines[, minLineLength[, maxLineGap]]]) -> lines
参数:image-边缘检测的输出图像,该图像为单通道8位二进制图像
rho-参数极径以像素值为单位的分辨率,这里一般使用 1 像素
theta-参数极角以弧度为单位的分辨率,这里使用 1度
threshold-检测一条直线所需最少的曲线交点
minLineLength-线的最短长度,比这个线短的都会被忽略
maxLineGap-两条线之间的最大间隔,如果小于此值,这两条线就会被看成一条线。
HoughLinesP,效果更好,检测图像中分段的直线(而不是贯穿整个图像的直线)