Fundamental Matrix Calculation (Bug #4072)


Added by Can Cagman about 10 years ago. Updated almost 10 years ago.


Status:Done Start date:2014-12-17
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:-
Target version:-
Affected version:branch 'master' (3.0-dev) Operating System:Any
Difficulty: HW Platform:Any
Pull request:

Description

fundam.cpp > run8Point()
line: 575 - 577

// F0 <- U*diag([W(1), W(2), 0])*V'
gemm( U, Mat::diag(W), 1., 0, 0., TF, GEMM_1_T );
gemm( TF, V, 1., 0, 0., F0, 0/*CV_GEMM_B_T*/ );

I think, this is F0 = U'*diag([W(1), W(2), 0])*V;

Could you confirm this? Do I miss something?


Related issues

duplicates Bug #3441: 8-point fundamental matrix estimation seems to be broken Done 2013-12-18

Associated revisions

Revision eee210f3
Added by Deanna Hood almost 10 years ago

Fix Bug #3441, #4072, #4173: 8-point fundamental matrix calculation error

Revision 217dd63e
Added by Vladimir Dudnik over 9 years ago

OpenCV-OpenCL interop (PR #4072):

Commits:
added new function, cv::ocl::attachContext(String& platformName, void* platformID, void* context, void* deviceID) which allow to attach externally created OpenCL context to OpenCV.
add definitions of clRetainDevice, clRetainContext funcs
removed definitions for clRetainContext, clRetainDevice
fixed build issue under Linux
fixed uninitialized vars, replace dbgassert in error handling
remove function which is not ready yet
add new function, cv::ocl::convertFromBuffer(int rows, int cols, int type, void* cl_mem_obj, UMat& dst, UMatUsageFlags usageFlags = cv::USAGE_DEFAULT) which attaches user allocated OpenCL clBuffer to UMat
uncommented clGetMemObjectInfo definition (otherwise prevent opencv build)
fixed build issue on linux and android
add step parameter to cv::ocl::convertFromBuffer func
suppress compile-time warning
added sample opencl-opencv interoperability (showcase for cv::ocl::convertFromBuffer func)
CMakeLists.txt modified to not create sample build script if OpenCL SDK not found in system
fixed build issue (apple opencl include dir and spaces in CMake file)
added call to clRetainContext for attachContext func and call to clRetainMemObject for convertFromBuffer func
uncommented clRetainMemObject definition
added comments and cleanup
add local path to cmake modules search dirs (instead of replacing)
remove REQUIRED for find_package call (sample build together with opencv). need to try standalone sample build
opencl-interop sample moved to standalone build
set minimum version requirement for sample's cmake to 3.1
put cmake_minimum_required under condition, so do not check if samples not builded
remove code dups for setSize, updateContinuityFlag, and finalizeHdr
commented out cmake_minimum_required(VERSION 3.1)
add safety check for cmake version
add convertFromImage func and update opencl-interop sample
uncommented clGetImageInfo defs
uncommented clEnqueueCopyImageToBuffer defs
fixed clEnqueueCopyImageToBuffer defs
add doxygen comments
remove doxygen @fn tag
try to restart buildbot
add doxygen comments to directx interop funcs
remove internal header, use fwd declarations in affected compile units instead

Revision 59ed7d06
Added by Alexander Alekhin over 9 years ago

Merge pull request #4072 from vladimir-dudnik:opencl-opencv-interop

History

Updated by Benny Kupfer about 10 years ago

I have the same problem.
Am using Ver. 3.0.0.beta and the resulting fundamental matrix is different from the one I got from previous version (e.g., Ver. 2.4.6) for
the same sets of tie-points, so the epi-polar constraint does not hold for almost any of the points.

Updated by Can Cagman about 10 years ago

fundam.cpp > run8Point()
line: 576
gemm( U, Mat::diag(W), 1., 0, 0., TF, GEMM_1_T );
should be changed to
gemm( U, Mat::diag(W), 1., 0, 0., TF, 0);

  • Status changed from New to Open

Updated by Deanna Hood almost 10 years ago

  • Status changed from Open to Done

Also available in: Atom PDF