Subversion Repositories seema-scanner

Rev

Rev 34 | Rev 41 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 34 Rev 36
Line 149... Line 149...
149
    cv::Mat(calibration.R1).copyTo(Transform1CV.colRange(0, 3));
149
    cv::Mat(calibration.R1).copyTo(Transform1CV.colRange(0, 3));
150
    cv::Mat(calibration.T1).copyTo(Transform1CV.col(3));
150
    cv::Mat(calibration.T1).copyTo(Transform1CV.col(3));
151
    Eigen::Affine3f Transform1;
151
    Eigen::Affine3f Transform1;
152
    cv::cv2eigen(Transform1CV, Transform1.matrix());
152
    cv::cv2eigen(Transform1CV, Transform1.matrix());
153
 
153
 
154
    //visualizer->addCoordinateSystem(100, Transform1.inverse());
154
    visualizer->addCoordinateSystem(100, Transform1.inverse());
-
 
155
 
-
 
156
    // rotation axis coordinate system
-
 
157
//    cv::Mat TransformRCV(3, 4, CV_32F);
-
 
158
//    cv::Mat(calibration.Rr).copyTo(TransformRCV.colRange(0, 3));
-
 
159
//    cv::Mat(calibration.Tr).copyTo(TransformRCV.col(3));
-
 
160
//    Eigen::Affine3f TransformR;
-
 
161
//    cv::cv2eigen(TransformRCV, TransformR.matrix());
-
 
162
 
-
 
163
//    visualizer->addCoordinateSystem(100, TransformR);
155
 
164
 
156
    // rotation axis at (0,0,0) pointing (0,1,0) in rotation stage frame
165
    // rotation axis at (0,0,0) pointing (0,1,0) in rotation stage frame
157
    cv::Vec3f O(0.0, 0.0, 0.0);
166
    cv::Vec3f O(0.0, -100.0, 0.0);
158
    cv::Vec3f v(0.0, 1.0, 0.0);
167
    cv::Vec3f v(0.0, 300.0, 0.0);
159
 
168
 
160
    // determine coefficients in camera 0 frame
169
    // determine coefficients in camera 0 frame
161
    O = calibration.Rr*O + calibration.Tr;
170
    O = calibration.Rr.t()*O + -calibration.Rr.t()*calibration.Tr;
162
    v = calibration.Rr*v + calibration.Tr;
171
    v = calibration.Rr.t()*v + -calibration.Rr.t()*calibration.Tr - O;
163
 
172
 
164
    pcl::ModelCoefficients lineCoefficients;
173
    pcl::ModelCoefficients lineCoefficients;
165
    lineCoefficients.values.resize(6);
174
    lineCoefficients.values.resize(6);
166
    lineCoefficients.values[0] = O[0];
175
    lineCoefficients.values[0] = O[0];
167
    lineCoefficients.values[1] = O[1];
176
    lineCoefficients.values[1] = O[1];
Line 169... Line 178...
169
    lineCoefficients.values[3] = v[0];
178
    lineCoefficients.values[3] = v[0];
170
    lineCoefficients.values[4] = v[1];
179
    lineCoefficients.values[4] = v[1];
171
    lineCoefficients.values[5] = v[2];
180
    lineCoefficients.values[5] = v[2];
172
    visualizer->removeShape("line");
181
    visualizer->removeShape("line");
173
    visualizer->addLine(lineCoefficients);
182
    visualizer->addLine(lineCoefficients);
-
 
183
 
-
 
184
 
174
}
185
}
175
 
186
 
176
SMPointCloudWidget::~SMPointCloudWidget(){
187
SMPointCloudWidget::~SMPointCloudWidget(){
177
 
188
 
178
    //delete visualizer;
189
    //delete visualizer;