cvComputeCorrespondEpilines (Bug #1635)
Description
I fund there is a bug on the function, cvComputeCorrespondEpilines, in fundam.cpp when I use it for single point operation. I have fixed the bug as following at line 685, 686, 692 and 693
dims = points->rows;
count = cn*points->cols;
and also I have corrected as following at line 718,719, 725 and 726
abc_dims = lines->rows;
abc_count = abc_cn*lines->cols;
but the above correction does not work for multipoints operation. I fund this bug on version 2.3.1.
Associated revisions
fixed cvComputeCorrespondEpilines to handle <5 points (ticket #1635)
Merge pull request #1635 from alalek:cmake_fix_export_java
History
Updated by Alexander Shishkov almost 13 years ago
Could you provide any code sample for reproduction the bug?
- Target version deleted ()
- Category set to calibration, 3d
- Assignee set to Dongbin Chen
Updated by Alexander Shishkov almost 13 years ago
- Assignee deleted (
Dongbin Chen)
Updated by Vadim Pisarevsky almost 13 years ago
thanks! the bug has been fixed in SVN trunk, r7691.
Now, to compute epipolar line for a single point, you can use the following code:
CvPoint2D32f m = { x, y }; float abc[3]; CvMat mmat = cvMat(1, 1, CV_32FC2, &m); CvMat abcmat = cvMat(1, 1, CV_32FC3, abc); cvComputeCorrespondEpilines( &mmat, &abcmat );
- Status changed from Open to Done
- Assignee set to Vadim Pisarevsky
Updated by Alexander Shishkov almost 13 years ago
- Target version set to 2.4.0