function "cvEigenVV" : too sensitive to noise (Bug #2458)


Added by Dajiang Zhang over 12 years ago. Updated over 12 years ago.


Status:Cancelled Start date:2012-10-19
Priority:Normal Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:core
Target version:2.4.3
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

This issue arises when I use "cvFindFundamentalMat" to compute a fundamental matrix with 8-point algorithm.

By simply changing the input cvMat type from "cv_32FC2" to "cv_64FC2", the result is totally different. The latter one is not able to generate a fundamental matrix.

I have compared this two inputs carefully, the difference arise with this line of code "cvEigenVV (&A, &V, &W)" of function "CvFMEstimator::run8Point".

And this is caused by very small difference in matrix "A".

Source code files causing this problem are attached.

The opencv version is 2.4.2. And the programming environment is MAC OSX 10.8. Xcode 4.5, the compiler is Apple LLVM compiler 4.1.


cv_64FC2.c (1.1 kB) Dajiang Zhang, 2012-10-19 04:47 pm

cv_32FC2.c (1 kB) Dajiang Zhang, 2012-10-19 04:47 pm


Associated revisions

Revision ae036838
Added by Roman Donchenko almost 11 years ago

Merge pull request #2458 from asmorkalov:android_cmake_opencv_modules_suffix

History

Updated by Vadim Pisarevsky over 12 years ago

in general, fundamental matrix estimation is ill-posed problem. Normally, you need more than noticeably more than 8 points to compute F robustly.

  • Target version set to 2.4.3
  • Status changed from Open to Cancelled

Also available in: Atom PDF