14讲 点云拼接

  • Post author:
  • Post category:其他


1点云读取

boost::format fmt( “./%s/%d.%s” )

colorImgs.push_back( cv::imread( (fmt%”color”%(i+1)%”png”).str() ));

这个的用法与printf中的一样,格式化输出的方式

%s :字符串格式  %d:10进制整数格式

而 (fmt%”color”%(i+1)%”png”是实际调用了这个格式, fmt%”color”就是传入这个格式的参数,按照上面初始化fmt时的格式顺序;然后使用boost ::format的str()整个再转为字符串,如

boost::format fmt(“%s %d %2.3f”);

fmt %”first” %121 %1.33333;

std::cout<<fmt.str()<<std::endl;

输出:first 121 1.333

又例如:

//对下面的表达式进行解释,||用来区分格式化选项功能,可以不要,当表达式中含有空格等特殊字符占位时,使用||表达更容易区分些

// %|04d|输出宽度为4的数值,不足位用0补充

// %|-8.4f|左对齐,输出宽度为8,小数位保留4为的浮点数

// %| 8s|输出宽度为8的字符串,不足位用空格填补的字符串

// %|06X|输出宽度为6的大写16进制整数,不足位用0填补

boost::format tmpFormat(“%|04d|\n %|-8.4f|\n %| 8s|\n %|06X|\n”);

tmpFormat % 44 % 3.1415926 %”123456″ % 48;

Eigen::Isometry3d   是一个欧式变换

Eigen版本是3.4  源码是

/** \ingroup Geometry_Module */

typedef Transform<double,2,Isometry> Isometry2d;

2图像转为点云

深度图一般是像素值是16位,最大65536,反映的是实际距离,单位是mm,而实际的点云坐标一般都是m,所以 最大测距是65米,对于一般的相机足够。深度图像的像素值就实际mm,除以1000即为m



版权声明:本文为dwell548560原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。