14讲 点云拼接

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值