示例#1
0
void vm::scanner::cuda::renderTangentColors(const Normals& normals, Image& image)
{
  image.create(normals.rows(), normals.cols());
  const device::Normals& n = (const device::Normals&)normals;
  device::Image& i = (device::Image&)image;

  device::renderTangentColors(n, i);
  waitAllDefaultStream();
}
示例#2
0
void kf::cuda::renderTangentColors(const Normals& normals, Image& image)
{
    image.create(normals.rows(), normals.cols());
    const impl::Normals& n = (const impl::Normals&)normals;
    impl::Image& i = (impl::Image&)image;

    impl::renderTangentColors(n, i);
    waitAllDefaultStream();
}
示例#3
0
void vm::scanner::cuda::resizeDepthNormals(const Depth& depth, const Normals& normals, Depth& depth_out, Normals& normals_out)
{
  depth_out.create (depth.rows()/2, depth.cols()/2);
  normals_out.create (normals.rows()/2, normals.cols()/2);

  device::Normals& nsrc = (device::Normals&)normals;
  device::Normals& ndst = (device::Normals&)normals_out;

  device::resizeDepthNormals(depth, nsrc, depth_out, ndst);
}
示例#4
0
void kf::cuda::resizeDepthNormals(const Depth& depth, const Normals& normals, Depth& depth_out, Normals& normals_out)
{
    depth_out.create (depth.rows()/2, depth.cols()/2);
    normals_out.create (normals.rows()/2, normals.cols()/2);

    impl::Normals& nsrc = (impl::Normals&)normals;
    impl::Normals& ndst = (impl::Normals&)normals_out;

    impl::resizeDepthNormals(depth, nsrc, depth_out, ndst);
}
示例#5
0
void vm::scanner::cuda::resizePointsNormals(const Cloud& points, const Normals& normals, Cloud& points_out, Normals& normals_out)
{
  points_out.create (points.rows()/2, points.cols()/2);
  normals_out.create (normals.rows()/2, normals.cols()/2);

  device::Points& pi = (device::Points&)points;
  device::Normals& ni= (device::Normals&)normals;

  device::Points& po = (device::Points&)points_out;
  device::Normals& no = (device::Normals&)normals_out;

  device::resizePointsNormals(pi, ni, po, no);
}
示例#6
0
void kf::cuda::resizePointsNormals(const Points& points, const Normals& normals, Points& points_out, Normals& normals_out)
{
    points_out.create (points.rows()/2, points.cols()/2);
    normals_out.create (normals.rows()/2, normals.cols()/2);

    impl::Points& pi = (impl::Points&)points;
    impl::Normals& ni= (impl::Normals&)normals;

    impl::Points& po = (impl::Points&)points_out;
    impl::Normals& no = (impl::Normals&)normals_out;

    impl::resizePointsNormals(pi, ni, po, no);
}
示例#7
0
void vm::scanner::cuda::computeNormalsAndMaskDepth(const Intr& intr, Depth& depth, Normals& normals)
{
  normals.create(depth.rows(), depth.cols());

  device::Reprojector reproj(intr.fx, intr.fy, intr.cx, intr.cy);

  device::Normals& n = (device::Normals&)normals;
  device::computeNormalsAndMaskDepth(reproj, depth, n);
}
示例#8
0
void kf::cuda::computeNormalsAndMaskDepth(const Intr& intr, Depth& depth, Normals& normals)
{
    normals.create(depth.rows(), depth.cols());

    impl::Reprojector reproj(intr.fx, intr.fy, intr.cx, intr.cy);

    impl::Normals& n = (impl::Normals&)normals;
    impl::computeNormalsAndMaskDepth(reproj, depth, n);
}
示例#9
0
void vm::scanner::cuda::computePointNormals(const Intr& intr, const Depth& depth, Cloud& points, Normals& normals)
{
  points.create(depth.rows(), depth.cols());
  normals.create(depth.rows(), depth.cols());

  device::Reprojector reproj(intr.fx, intr.fy, intr.cx, intr.cy);

  device::Points& p = (device::Points&)points;
  device::Normals& n = (device::Normals&)normals;
  device::computePointNormals(reproj, depth, p, n);
}
示例#10
0
void kf::cuda::computePointNormals(const Intr& intr, const Depth& depth, Points& points, Normals& normals)
{
    points.create(depth.rows(), depth.cols());
    normals.create(depth.rows(), depth.cols());

    impl::Reprojector reproj(intr.fx, intr.fy, intr.cx, intr.cy);

    impl::Points& p = (impl::Points&)points;
    impl::Normals& n = (impl::Normals&)normals;
    impl::computePointNormals(reproj, depth, p, n);
}