stereoRectifyUncalibrated outliers filtering is broken (including fix) (Bug #2367)


Added by Julien Rebetez over 12 years ago. Updated over 12 years ago.


Status:Done Start date:
Priority:Normal Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:calibration, 3d
Target version:2.4.3
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

The threshold parameter of stereoRectifyUncalibrated can be used to ignore outliers. But there is a bug that prevent this from working (except if the outliers are all at the end of the points array).

The problem is in calibration.cpp:2696. Instead of "j > i", it should read "j < i". When there is an outlier, j will lag behind and the next inlier should overwrite the outlier in the point array.

I attached a python script that triggers the bug on a sample. I also include the (easy) patch.


cv_rectify_uncalibrated_path.diff (522 Bytes) Julien Rebetez, 2012-09-19 12:16 am

rectify_uncalibrated_bug.py (2.6 kB) Julien Rebetez, 2012-09-19 12:16 am


Associated revisions

Revision c3c49a31
Added by Vadim Pisarevsky over 12 years ago

fixed outlier filtering in cvStereoRectifyUncalibrated (bug #2367)

Revision 139a2620
Added by Roman Donchenko about 11 years ago

Merge pull request #2367 from jet47:fix-3544

History

Updated by Andrey Pavlenko over 12 years ago

  • Assignee set to Ilya Lysenkov
  • Start date deleted (2012-09-19)

Updated by Vadim Pisarevsky over 12 years ago

thanks! your patch was applied in c3c49a3

  • Target version set to 2.4.3
  • Assignee changed from Ilya Lysenkov to Vadim Pisarevsky

Updated by Vadim Pisarevsky over 12 years ago

  • Status changed from Open to Done

Also available in: Atom PDF