Bug in function run8point (Bug #965)


Added by Camiel Wijffels almost 14 years ago. Updated almost 14 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Ilya Lysenkov % Done:

0%

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

Description

Several bugs in run8Point. This function is critical to 3D reconstruction, and therefore it is classified as major.
1. Line 15: "count = _m1->cols*_m1->rows"
Change: This must be "_m1->cols" without the rows
Reason: The count is used in the function to step through all columns of the matrices
What goes wrong: Count will be too big, therefore errorneous numbers will be added
2. (trivial) Line 39: "x = fabs(..."
Change: function fabs must be delete on two places in this line
Reason: x and y are squared in the next line
What goes wrong: nothing


Associated revisions

Revision 30169868
Added by Roman Donchenko almost 12 years ago

Merge pull request #965 from apavlenko:fix_java_empty_mats

Revision 13cd0a05
Added by Roman Donchenko over 11 years ago

Merge remote-tracking branch 'origin/2.4'

Original pull requests:
#996 from jet47:gpu-nvcuvid-libraries
#995 from jet47:fix-bug-2985
#999 from snosov1:unreliable-results-fix
#1005 from alekcac:doc_fix
#1004 from jet47:fix-bug-3068
#987 from jet47:bug-3085-fix
#969 from pengx17:2.4_binary_cache
#929 from dominikrose:mingw-libdc1394-2-windows
#1000 from ivan-korolev:fix_sift_bug_2892
#1001 from ivan-korolev:fix_stitching_bug_2405
#998 from asmorkalov:android_cmake_mips_fix
#993 from ivan-korolev:fix_videostab_bug_3023
#988 from snosov1:3071-fix
#986 from pengx17:2.4_initiated_context
#982 from pengx17:2.4_fix_two_bugs
#981 from SeninAndrew:ximea_camera_support_fix
#991 from asmorkalov:android_javadoc_fix
#972 from jet47:mog2-params-bug-2168
#980 from SpecLad:include-config
#973 from pengx17:2.4_oclclahe
#903 from aks2:2.4
#968 from asmorkalov:android_na_cproj_fix
#971 from SpecLad:matchers-ctor
#970 from asmorkalov:dshow_valid_check_fix
#965 from apavlenko:fix_java_empty_mats

Conflicts:
cmake/OpenCVModule.cmake
modules/core/src/matmul.cpp
modules/gpu/CMakeLists.txt
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/perf/perf_imgproc.cpp
modules/ocl/src/imgproc.cpp
modules/ocl/src/initialization.cpp
modules/stitching/src/matchers.cpp
modules/video/src/video_init.cpp
modules/videostab/src/global_motion.cpp

History

Updated by Ilya Lysenkov almost 14 years ago

  • Status deleted (Open)

Updated by Ilya Lysenkov almost 14 years ago

1. This is not a bug because a previous line is

  CV_Assert( (_m1->cols == 1 || _m1->rows == 1) && ... )

So _m1->cols*_m1->rows is equivalent to std::max(_m1->cols, _m1->rows) and it is correct. It allows to process a vector stored either as a row or as a column.
2. It is fixed already.

  • Status set to Done
  • (deleted custom field) set to invalid

Also available in: Atom PDF