23 MITK_TEST_BEGIN(
"CameraIntrinsics")
25 cv::Mat _CameraMatrix = cv::Mat::zeros(3, 3, cv::DataType<double>::type);
26 _CameraMatrix.at<
double>(2,2) = 1.0;
27 _CameraMatrix.at<
double>(0,0) = 1662.54;
28 _CameraMatrix.at<
double>(1,1) = 1678.23;
29 _CameraMatrix.at<
double>(0,2) = 1030.23;
30 _CameraMatrix.at<
double>(1,2) = 632.32;
32 cv::Mat _DistorsionCoeffs = cv::Mat::zeros(1, 5, cv::DataType<double>::type);
33 _DistorsionCoeffs.at<
double>(0,0) = -0.443212;
34 _DistorsionCoeffs.at<
double>(0,1) = 0.231012;
35 _DistorsionCoeffs.at<
double>(0,2) = -0.013612;
36 _DistorsionCoeffs.at<
double>(0,3) = -0.005312;
37 _DistorsionCoeffs.at<
double>(0,4) = 0;
39 mitk::CameraIntrinsics::Pointer intrinsics
40 = mitk::CameraIntrinsics::New();
42 intrinsics->SetIntrinsics(_CameraMatrix, _DistorsionCoeffs);
44 double epsilon = 0.001;
49 cv::Mat _CameraMatrixResult = intrinsics->GetCameraMatrix();
50 _CvMatCompare.
SetMatrices( &_CameraMatrix, &_CameraMatrixResult );
52 MITK_TEST_CONDITION_REQUIRED( equals,
53 "Testing CameraIntrinsics::GetCameraMatrix()");
57 cv::Mat _DistorsionCoeffsResult = intrinsics->GetDistorsionCoeffs();
58 _CvMatCompare.
SetMatrices( &_DistorsionCoeffs, &_DistorsionCoeffsResult );
60 MITK_TEST_CONDITION_REQUIRED( equals,
61 "Testing CameraIntrinsics::GetDistorsionCoeffs()");
66 mitk::CameraIntrinsics::Pointer copy
67 = intrinsics->Clone();
69 cv::Mat _CameraMatrixResult = copy->GetCameraMatrix();
70 cv::Mat _DistorsionCoeffsResult = copy->GetDistorsionCoeffs();
72 bool distCoeffsEquals =
false;
73 _CvMatCompare.
SetMatrices( &_DistorsionCoeffs, &_DistorsionCoeffsResult );
75 distCoeffsEquals = equals;
76 _CvMatCompare.
SetMatrices( &_CameraMatrix, &_CameraMatrixResult );
78 MITK_TEST_CONDITION( distCoeffsEquals && equals,
79 "Testing CameraIntrinsics::Clone()");
84 std::string filename =
"mitkCameraIntrinsicsTest.xml";
85 intrinsics->ToXMLFile(filename);
86 intrinsics->SetValid(
true);
88 mitk::CameraIntrinsics::Pointer copy
89 = mitk::CameraIntrinsics::New();
90 copy->FromXMLFile(filename);
92 cv::Mat _CameraMatrixResult = copy->GetCameraMatrix();
93 cv::Mat _DistorsionCoeffsResult = copy->GetDistorsionCoeffs();
104 bool distCoeffsEquals =
false;
105 _CvMatCompare.
SetMatrices( &_DistorsionCoeffs, &_DistorsionCoeffsResult );
107 distCoeffsEquals = equals;
108 _CvMatCompare.
SetMatrices( &_CameraMatrix, &_CameraMatrixResult );
110 MITK_TEST_CONDITION( distCoeffsEquals && equals
112 "Testing CameraIntrinsics::ToXMLFile() and"
113 " CameraIntrinsics::FromXMLFile()");
115 if(itksys::SystemTools::FileExists(filename.c_str() ,
true))
116 itksys::SystemTools::RemoveFile(filename.c_str());