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 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Get Learning OpenCV now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.