Fitting Lines in Two and Three Dimensions
A final topic of interest in this chapter is that of general line fitting. This can
arise for many reasons and in a many contexts. We have chosen to discuss it here because one
especially frequent context in which line fitting arises is that of analyzing points in
three dimensions (although the function described here can also fit lines in two
dimensions). Line-fitting algorithms generally use statistically robust techniques [Inui03,
Meer91, Rousseeuw87]. The OpenCV line-fitting algorithm cvFitLine() can be used whenever line fitting is needed.
void cvFitLine( const CvArr* points, int dist_type, double param, double reps, double aeps, float* line );
The array points can be an
N-by-2 or N-by-3 matrix of floating-point values
(accommodating points in two or three dimensions), or it can be a sequence of cvPointXXX structures. [226] The argument dist_type indicates the distance
metric that is to be minimized across all of the points (see Table 12-3).
Table 12-3. Metrics used for computing dist_type values
|
Value of dist_type |
Metric |
|---|---|
|
|
![]()
|
|
|
|
|
|
![]()
|
|
|
|
|
|
|
|
|
|

