- Removed HT/PROSAC switch, pure RANSAC is used since it proved to be most robust
- Switch for HT/PROSAC estimator in
find_line_segment_groups - Fixed incorrect transform caused by possible selection of point inside the image
- Parameter tuning
- Model estimation rewritten
- RANSAC, RROSAC and Hough Transform estimators (only HT is used)
- Removed
set_num_threads/get_num_threads. Threading is controlled bynum_threadsparameter infind_line_segment_groups.
- Thread safety in RANSAC improved
release_line_segmentstakes ptr toLineSegment*and sets the pointer to 0 after delete- Changes of some internal representations and small performance improvements
- Fixed error in
compute_rectification_transform_from_vp
- Fixed crash in line refinement
- Fixed vanishing points in
ImageTransform - Improved compatibility with Visual Studio (mostly warnings)
- Default behaviour of autorectify changed to full rectification
- Autorectify now uses automatic bounding box for transformed image
- Documentation
- Experimental support for line postprocessing (parameter
refineinfind_line_segment_groups) - Fixed threading issues
- Some parallel regions did not use internal number of threads
- By default, omp setting is used
- API is enclosed in namespace
librectify release_line_segmentsfor deallocation of memory retuned byfind_line_segment_groups
set_num_threadssets internal number of threads and does not interfere with global OpenMP settings.get_num_threadsget number of threads used by the libraryfit_vanishing_pointfunction gets the point for a single groupfind_closest_groupassigns lines to groups- Improved logic for selection of vanishing points and transform computation
RectificationConfigspecifies how each direction is rectified withRectificationStrategy(allows for 15 different transforms including pure rotations)- Fixed numerical instability in transform computation.
ImageTransformnow contains the actual vanishing points used for transform computation.- Command line arguments in
autorectifyfor selection of the transform - Fixed error in line filtering (which caused that the filter had no effect)
- More compact lines, and lower number of lines - improves stability
Pointis pure struct withx,y,zmembers with no c++ interface
- Support for negative stride
- Buffer format back to
float* - Speed improvements in line group estimation and line detection
- Parameter tuning to improve results
- API changes to simplify usage - see
liblgroup.h - Added
set_num_threads- multithreading via OpenMP - Image transform computation based on automatic identification of vanishing points
autorectify.cppapplication (replaces test.cpp)- Doc update