Bug in function run8point (Bug #965)
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
Merge pull request #965 from apavlenko:fix_java_empty_mats
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