KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Background: I'm currently working on a stereo vision project using OpenCV. I'm trying to create a disparity map from a set of two rectified images, but I'm not getting the result I expect. When looking at the rectified images, there is a noticeable vertical shift between the images, which should not be there after rectification. I'm currently looking for what the error may be. My code is based on the stereo calibration and correspondence code from the OpenCV book, and this example . I use the C++ interface of OpenCV. My OpenCV version is 2.1, from the Ubuntu 11.04 repository. Short version of question: What RMS return value is acceptable for the function: double cv::calibrateCamera(...) I currently calibrate each camera using a set of ~20 chessboard image pairs. The cameras are two identical PS3 Eyes (with a resolution of 640*480 pixels) mounted beside each other. cv::calibrateCamera returns an RMS error of between 160 and 300 (I've had different result with different image sets). Is this an acceptable value for this image resolution or should I attempt to get better chessboard images? Long version (details, code samples): To get working stereo vision; first, I want to be sure the camera calibration routine works correctly. I use a series of chessboard images to calibrate my stereo setup, like so: // Find chessboard corners cv::Mat left = ... //Load image vector<cv::Point2f> points; bool found = cv::findChessboardCorners(left, patternSize, points, CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_NORMALIZE_IMAGE); if(found) cv::cornerSubPix(left, points, cv::Size(11, 11), cv::Size(-1, -1), cv::TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1)); image
Tags (comma-separated)
Save Edits
Cancel