예제 #1
0
파일: input.cpp 프로젝트: fhs-company/comet
CameraParameters Input::getCameraParameters() {
    if (m_camera != nullptr) {
        return m_camera->m_params;
    } else {
        return CameraParameters();
    }
}
// set preview/capture parameters - key/value pairs
status_t CameraClient::setParameters(const String8& params) {
    LOG1("setParameters (pid %d) (%s)", getCallingPid(), params.string());

    Mutex::Autolock lock(mLock);
    status_t result = checkPidAndHardware();
    if (result != NO_ERROR) return result;

    mLatestSetParameters = CameraParameters(params);
    CameraParameters p(params);
    return mHardware->setParameters(p);
}
CameraParameters loadCameraCalibration(const std::string& filename, double frustum_near_plane_distance, double frustum_far_plane_distance)
{
  cv::FileStorage config(filename, cv::FileStorage::READ);

  if (not config.isOpened())
    throw std::invalid_argument("Error opening rectified camera calibration file " + filename);

  cv::Mat_<double> intrinsic;
  config["camera_matrix"] >> intrinsic;

  return CameraParameters(cv2eigen<double, 3, 3>(intrinsic), (int) config["image_width"], (int) config["image_height"], frustum_near_plane_distance, frustum_far_plane_distance, (double) config["baseline"]);
}