Ask Your Question

SUHAS's profile - activity

2017-04-15 06:56:12 -0600 received badge  Student (source)
2015-08-06 04:06:32 -0600 commented question Inverse Pattern

Thank you for the replay and sorry for my late replay. I have a doubt, I can able to find the corners of the chessboard in undistorted chessboard image but I couldn't able to find the corners in the distorted image because after distortion chessboard squares won't be squares anymore. So what can i do ?

2015-08-04 09:15:51 -0600 asked a question Inverse Pattern

Hello All,

I am working on Inverse Pattern. I have one chessboard image. I am projecting this on floor which is around 45 degree, so I can see the deformed chessboard on floor. If I would have projected at 180 degree, then I would have seen proper chessboard because of the change in angle, I couldn't.

It might also possible to say in other way round, for example I have two images one is proper chessboard pattern and other is deformed chessboard image (all the square are not having same size because of projection angle). By taking reference of proper chessboard, I have to make the inverse of the deformed chessboard, so that chessboard should not be deformed at that angle of projection.

Can someone give idea please,

2015-07-29 10:27:44 -0600 received badge  Enthusiast
2015-07-28 06:43:00 -0600 commented question Load cv triangulate points()

I have seen this. I was using code from "Multiple View Geometry in Computer Vision" but the output was not good... there are many confusions in that book.

2015-07-28 05:36:42 -0600 commented question Load cv triangulate points()

It is saying that vector<error type="">, is there point4d type ?

2015-07-28 04:52:19 -0600 commented question Load cv triangulate points()

Yes, it didn't worked! The output from my program is 4xN matrix which has x,y,z,w values I want store this in vector list of double for individual axis. Now I am trying to store only for one keypoint.

2015-07-28 03:40:40 -0600 received badge  Editor (source)
2015-07-28 03:37:45 -0600 asked a question Load cv triangulate points()

Hi everyone,

I am working on cv triangulatepoints(). I have keypoint values and projection matrix and I did tringulation using opencv function. But I could not able to load the points to point3d variable. I am getting error at double w = out.at<double>(3,0);. I am trying to take x,y,z axis for one keypoint out of my 383 keypoints. Can anyone please suggest me.

int N = inp1.size();
cv::Mat out = cv::Mat(4,N, CV_64FC1);
cv::triangulatePoints( P, P1, inp1, inp2, out);
"out = " << out << endl;
w = out.at<double>(3,0);
x = out.at<double>(0,0)/w;
y = out.at<double>(1,0)/w;
z = out.at<double>(2,0)/w;
push_back(cv::Point3f(x,y,z));
2015-07-02 03:46:03 -0600 asked a question Structure from Motion C++

Hello All,

I am working on Structure from Motion. I think when it come to structure from motion, people would have came across MultiView Geometry book. It is a very good book but I found something confusing data in that book. In the below following code, there is function called Populate point cloud, which has two parameter pointcloud and pointcloud_RGB. I have point3d type values in pointcloud but I didn't find any about pointcloud_RGB in that book and it suddenly appears in this function, which is used to fill the VEC3d rgbv. Can some one please help who came across.

   void PopulatePCLPointCloud(const vector<cv::Point3d>& pointcloud, 
      const std::vector<cv::Vec3b>& pointcloud_RGB
    ) 

    { 
    cout<<"Creating point cloud..."; 
    cloud.reset(new pcl::PointCloud<pcl::PointXYZRGB>); 

    for (unsigned int i=0; i<pointcloud.size(); i++) { 
    // get the RGB color value for the point 
            cv::Vec3b rgbv(255,255,255); 

    if (i < pointcloud_RGB.size()) { 
    rgbv = pointcloud_RGB[i]; 
    } 

            // check for erroneous coordinates (NaN, Inf, etc.) 
                    if (pointcloud[i].x != pointcloud[i].x || 
                            pointcloud[i].y != pointcloud[i].y || 
                            pointcloud[i].z != pointcloud[i].z || 
    #ifndef WIN32 
                            isnan(pointcloud[i].x) || 
                            isnan(pointcloud[i].y) || 
                            isnan(pointcloud[i].z) || 
    #else 
                            _isnan(pointcloud[i].x) || 
                            _isnan(pointcloud[i].y) || 
                            _isnan(pointcloud[i].z) || 
                            false 
                            ) 
                    { 
                            continue; 
                    } 
    pcl::PointXYZRGB pclp; 
    pclp.x = pointcloud[i].x; 
    pclp.y = pointcloud[i].y; 
    pclp.z = pointcloud[i].z; 
    // RGB color, needs to be represented as an integer 
    uint32_t rgb = ((uint32_t)rgbv[2] << 16 | (uint32_t)rgbv[1] << 8 | 
    (uint32_t)rgbv[0]); 
    pclp.rgb = *reinterpret_cast<float*>(&rgb); 
    cloud->push_back(pclp); 
    } 
    cloud->width = (uint32_t) cloud->points.size(); // number of points 
    cloud->height = 1; // a list of points, one row of data 

    //Create visualizer 

    pcl::visualization::CloudViewer viewer ("Simple Cloud Viewer"); 
    viewer.showCloud (cloud); 

                     cv::waitKey(0); 
                     return; 
    }
2015-03-11 06:29:40 -0600 asked a question Fundamental Matrix Accuracy

I am working on 3d Reconstruction of Scene. I matched the feature of 2 images. I have the Keypoints1 and Keypoints2. I have Fundamental F and Essential Matrix E. Now I have to check X'FX =0. I know X' is the coordinate of second image and X is the coordinate of image of the first image. I have few questions can anyone please help me.

Is X' and X are the keypoints1 and keypoints2 ? Is it (x, y) coordinate of that keypoints? The product of X'FX, this will be in Mat format, if I not wrong. How this will be equal to 0? Please can anyone help, sorry if my question is silly.

Thanks in advance.

2014-04-01 09:36:57 -0600 asked a question Disparity for High Resloution

Hi, I have done stereo calibration and got disparity of the image(640*480) but I am facing problem when I did for 2592 * 1944 resolution image, disparity is not clear, I changed some values but it didn't worked properly. I took bigger chessboard, I though bigger chessboard would make some change for high resolution image and again it was the same. Can any one please guide me, the below is my disparity values. int windowSize = 11; int disparityRange = 192; int preFilterCap = 4; int minDisparity = -64; int uniquenessRatio = 1; int speckleWindowSize = 150; int speckleRange = 2; int dispMaxDiff = 10; bool dynamicP = false; int smoothP1 = 600; int smoothP2 = 2400

2014-01-09 06:56:24 -0600 asked a question Calibration using image sequence

Hello everybody, I am doing the Stereo Calibration and I should get the disparity map and Q matrix, so that after getting these variables I can do 3D point cloud. I did stereo calibration by taking the video, and capturing in sequence,instead of taking the video, is it possible to put images and then you can do calibration and to 3d point cloud so I am confused in this point, can you help me please. Looking forward to hear from you. please guide me