2015-08-31 09:59:37 -0600 | commented question | stereoRectify problems Have implemented stereorecification algo based on Andrea Fusiello rectification toolkit. Works fine. Looks like ocv stereoRectify works only with data after stereocalibrate. |
2015-08-28 02:22:38 -0600 | commented question | stereoRectify problems Upoaded input matrieces for the first approach |
2015-08-27 11:20:06 -0600 | commented question | stereoRectify problems hope this works |
2015-08-27 10:59:37 -0600 | commented question | stereoRectify problems check again |
2015-08-27 10:56:00 -0600 | received badge | ● Editor (source) |
2015-08-27 10:00:16 -0600 | asked a question | stereoRectify problems Hi. I'm working with SFM results. I've calculated orientation params for each camera, undistorted images and selected some stereopairs. Now I would like to calculate rectification for each stereopair. left and right images: At first rotatation between camera 1 & 2 using quaternion approach: rot_q = q2*q1.inverse(); translation T = C2 - C1, where Cx - camera centers. Then stereoRectify(K1, D, K2, D, img1.size(), R12, T, OR1, OR2, OP1, OP2, OQ, 0); where Kx - camera matrix & D - distortion vector with zero values. and initUndistortRectifyMap(K1, D, OR1, OP1, img1.size(), CV_32FC1, MX1, MY1); initUndistortRectifyMap(K2, D, OR2, OP2, img2.size(), CV_32FC1, MX2, MY2); and in conclusion remap(img1, rect_img_left, MX1, MY1, INTER_CUBIC); remap(img2, rect_img_right, MX2, MY2, INTER_CUBIC); But result seems to be not absolutely correct So it was cropped as you can see
and an Y shift between corresponding epipolines approx 5 pixels Also, I've tried to build rectification using fundamental matrix & stereoRectifyUncalibrated, because I know corresponding points between images. For this scene it works fine But for some projects (uav images for example) I've got heavy distortions after warping and in general it must be more correctly to use the first approach. Any ideas? Upd. Input matrices by the link https://www.dropbox.com/s/aryl0k5j4o0... |