霍夫线变换
- 霍夫线变换是一种用于检测直线的变换。
- 为了应用变换,首先需要进行边缘检测预处理。
标准和概率霍夫线变换
OpenCV 实现了两种霍夫线变换:
标准霍夫变换
- 提供了一个组合向量(θ,rθ)
- 在 OpenCV 中,它是用函数HoughLines()实现的
HoughLines()
void cv::HoughLines ( InputArray image,
OutputArray lines,
double rho,
double theta,
int threshold,
double srn = 0,
double stn = 0,
double min_theta = 0,
double max_theta = CV_PI
)
#include <opencv2/imgproc.hpp>
参数
image | 8 位、单通道二进制源图像。该函数可以修改图像。 |
lines | 线的输出向量。每条线由一个 2 或 3 元素向量表示( ρ , θ )或者( ρ , θ ,票数).ρ是到坐标原点的距离( 0 , 0 )(图像的左上角)。θ是以弧度为单位的线旋转角度(0 ∼垂直线, π/ 2∼水平线)。选票是累加器的值。 |
rho | 累加器的距离分辨率(以像素为单位)。 |
theta |