在终端中传参数至程序中
在终端中,通过命令行传入参数至程序中,不用每次再单独修改程序中的参数值:
1、定义全局变量:
int distance_min = 15; //15,与激光雷达之间的起点距离,也即点云聚类的起点。
int distance_max = 20.5; //20.5,与激光雷达之间的终点距离,也即点云聚类的终点。
2、定义命令行解析函数:
//解析命令行参数
void parseCommandLine(int argc, char* argv[])
{
pcl::console::parse_argument(argc, argv, "-distance_min", distance_min);
pcl::console::parse_argument(argc, argv, "-distance_max", distance_max);
}
3、main函数中调用上述函数:
int main(int argc, char **argv)
{
ros::init(argc, argv, "EuCluster");
ros::NodeHandle nh;
parseCommandLine(argc, argv); //命令行解析参数
EuClusterCore core(nh);
return 0;
}
4、在终端中运行时,输入命令:
rosrun 功能包 节点名 -distance_min 10 -distance_max 20
即可实现终端传入参数了。