Esempio n. 1
0
struct calibrateCameraRetval calibrateCamera(
	struct TensorArray objectPoints, struct TensorArray imagePoints,
	struct SizeWrapper imageSize, struct TensorWrapper cameraMatrix,
	struct TensorWrapper distCoeffs, struct TensorArray rvecs,
	struct TensorArray tvecs, int flags, struct TermCriteriaWrapper criteria)
{
    struct calibrateCameraRetval result;
    std::vector<MatT> intrinsics(2);
    std::vector<cv::Mat> rvecs_vec, tvecs_vec;

    intrinsics[0] = cameraMatrix.toMatT();
    intrinsics[1] = distCoeffs.toMatT();
    rvecs_vec = rvecs.toMatList();
    tvecs_vec = tvecs.toMatList();

    result.retval = cv::calibrateCamera(objectPoints.toMatList(), imagePoints.toMatList(),
			       		imageSize, intrinsics[0], intrinsics[1],
			       		rvecs_vec, tvecs_vec, flags, criteria);
    new(&result.intrinsics) TensorArray(intrinsics);

    std::vector<MatT> rvecs_vecT = get_vec_MatT(rvecs_vec), tvecs_vecT = get_vec_MatT(tvecs_vec);
    new(&result.rvecs) TensorArray(rvecs_vecT);
    new(&result.tvecs) TensorArray(tvecs_vecT);
    return result;
}
Esempio n. 2
0
struct TensorArray EM_getCovs(struct EMPtr ptr)
{
    std::vector<cv::Mat> vec;
    ptr->getCovs(vec);
    std::vector<MatT> retval = get_vec_MatT(vec);
    return TensorArray(retval);
}
Esempio n. 3
0
struct TensorArrayPlusBool imreadmulti(const char *filename, int flags)
{
    TensorArrayPlusBool retval;
    std::vector<cv::Mat> mats;
    retval.val = cv::imreadmulti(filename, mats, flags);
    std::vector<MatT> matsT = get_vec_MatT(mats);
    new (&retval.tensors) TensorArray(matsT);
    return retval;
}