2017-05-16 09:05:35 -0600 commented answer Stereo Vision Distance Estimation Issue Also, what I forgot to mention is that the disparity map becomes pretty average as distance is increased, hence the mediocre calculation 2017-05-16 09:04:40 -0600 commented answer Stereo Vision Distance Estimation Issue Thank you for your reply, the problem is the quality of the disparity map achieved, which doesn't allow for an accurate calculation. If the object is, let's say, 1 meter away. The results are pretty accurate and on point, but when the 2-meter mark is surpassed, the problems arise. Thanks 2017-05-16 09:02:42 -0600 commented answer Stereo Vision Distance Estimation Issue Thank you for your reply. Do you think there is a certain depth limit on this matter? I am using 2 identical Logitech C270 webcams. Like do you think it could be viable for a distance of 20 meters for example? Thanks!! 2017-05-16 08:39:13 -0600 asked a question Stereo Vision Distance Estimation Issue Hi, I am attempting to calculate the distance to a given object in a pair of stereo images, using the SGBM algorithm. Depending on the calculated distance and my current coordinates, I am calculating the GPS coordinates of the given object. Now the results are pretty average when I surpass the 2-meter mark and the results are very inaccurate. As the distance increases, the disparity map suffers greatly which inhibits the ability to accurately capture the object in the scene. Is there any way to get better distance results when testing on distances greater than the mentioned 2-meter mark? Or, do I consider this to be a limitation of my program? Would highly appreciate any responses. Thanks! 2017-03-27 13:06:10 -0600 commented question Stereo Vision (Python) - How can I improve my Stereo Rectification results? Do you think it might affect the results obtained?? 2017-03-26 14:05:57 -0600 commented question Stereo Vision (Python) - How can I improve my Stereo Rectification results? Ok thank you! :) 2017-03-26 12:20:56 -0600 commented question Stereo Vision (Python) - How can I improve my Stereo Rectification results? Can you guide me on how to do this? As I am pretty new to OpenCV/stereo vision in general. If not, thanks a million for your time and help, I really appreciate anyways :) 2017-03-26 10:57:17 -0600 commented question Stereo Vision (Python) - How can I improve my Stereo Rectification results? Thank you for your comment, the thing is I am using the stereoCalibrate method, isn't that the same thing just for stereo cameras? 2017-03-26 10:22:30 -0600 received badge ● Editor (source) 2017-03-26 10:20:59 -0600 asked a question Stereo Vision (Python) - How can I improve my Stereo Rectification results? Hi all, I am carrying out an undergraduate where I need to find out the depth of a stereo image, thus it is crucial to get a good disparity map for the calculations to be accurate. My rectification results are pretty mediocre at best and I have carried out the calibration countless times with no success, only minimal variations between results. I would highly appreciate experts' guidance on this issue. Like, can I try changing some parameters of my stereoRectify method? I already tried to tinker with the stereocalibrate parameters with minimal success. I cannot post my results on this question as I have insufficient karma, but the rectified images look as if they were warped in a spiral manner and overriding the original video capture. Copy this in the URL if you wish to see a sample of my results: scontent.fmla1-2.fna.fbcdn.net/v/t35.0-12/17571001_10212528106338046_845875913_o.png?oh=3ef04efa50a3d9f4e4d253f2f57ae298&oe=58DAF735 This is my code for the calibration: import cv,time,sys import cv2 from itertools import izip # python calibrate.py board_w,board_h and boards_n should be given by the user n_boards=0 #no of boards board_w=int(sys.argv[1]) # number of horizontal corners board_h=int(sys.argv[2]) # number of vertical corners n_boards=int(sys.argv[3]) # no. of views passed as pictures board_n=board_w*board_h # no of total corners board_sz=(board_w,board_h) # size of board # creation of memory storages for left camera image_points0=cv.CreateMat(n_boards*board_n,2,cv.CV_32FC1) object_points=cv.CreateMat(n_boards*board_n,3,cv.CV_32FC1) point_counts=cv.CreateMat(n_boards,1,cv.CV_32SC1) intrinsic_matrix0=cv.CreateMat(3,3,cv.CV_32FC1) distortion_coefficient0=cv.CreateMat(5,1,cv.CV_32FC1) # creation of memory storages for right camera image_points1=cv.CreateMat(n_boards*board_n,2,cv.CV_32FC1) intrinsic_matrix1=cv.CreateMat(3,3,cv.CV_32FC1) distortion_coefficient1=cv.CreateMat(5,1,cv.CV_32FC1) R=cv.CreateMat(3,3,cv.CV_64F) T=cv.CreateMat(3,1,cv.CV_64F) E=cv.CreateMat(3,3,cv.CV_64F) F=cv.CreateMat(3,3,cv.CV_64F) #term_crit=(cv.CV_TERMCRIT_EPS+cv.CV_TERMCRIT_ITER,30,0.1) #capture frames of specified properties and modification of matrix values i=0 z=0 # to print number of frames successes=0 # capturing required number of views found=0 with open('Left.txt','rb') as f: imgl= [line.strip() for line in f] with open('Right.txt','rb') as f1: imgr=[line.strip() for line in f1] for (image0,image1) in izip(imgl,imgr): if image0 =='' or image1== '' : break; else: Image0 = cv.LoadImage(image0) Image1 = cv.LoadImage(image1) gray_image0=cv.CreateImage(cv.GetSize(Image0),8,1) cv.CvtColor(Image0,gray_image0,cv.CV_BGR2GRAY) gray_image1=cv.CreateImage(cv.GetSize(Image1),8,1) cv.CvtColor(Image1,gray_image1,cv.CV_BGR2GRAY) (found0,corners0)=cv.FindChessboardCorners(gray_image0,board_sz,cv.CV_CALIB_CB_ADAPTIVE_THRESH| cv.CV_CALIB_CB_FILTER_QUADS) (found1,corners1)=cv.FindChessboardCorners(gray_image1,board_sz,cv.CV_CALIB_CB_ADAPTIVE_THRESH| cv.CV_CALIB_CB_FILTER_QUADS) cv.FindCornerSubPix(gray_image0,corners0,(11,11),(-1,-1),(cv.CV_TERMCRIT_EPS+cv.CV_TERMCRIT_ITER,30,0.001)) cv.FindCornerSubPix(gray_image1,corners1,(11,11),(-1,-1),(cv.CV_TERMCRIT_EPS+cv.CV_TERMCRIT_ITER,30,0.001)) # if got a good ...