LaneDetector::LaneDetector(ros::NodeHandle& node_handle) { loadParams(node_handle); // Grass Removal kernel_size = 8; svm = new SVM(); svm->init(kernel_size * kernel_size * 3); std::string model_path = ros::package::getPath("lane_detector")+"/data/"+training_data_file + ".model"; svm->loadModel(model_path.c_str()); setupComms(); if (debug_mode > 0) { original_image_window = ros::this_node::getName() + std::string("/original_image"); cv::namedWindow(original_image_window, CV_WINDOW_AUTOSIZE); result_window = ros::this_node::getName() + std::string("/result"); cv::namedWindow(result_window, CV_WINDOW_AUTOSIZE); grass_removal_output_window = ros::this_node::getName() + std::string("/grass_removal_output"); cv::namedWindow(grass_removal_output_window, CV_WINDOW_AUTOSIZE); ipt_output_window = ros::this_node::getName() + std::string("/ipt_output"); cv::namedWindow(ipt_output_window, 0); obstacle_removal_output_window = ros::this_node::getName() + std::string("/obstacle_removal_output"); cv::namedWindow(obstacle_removal_output_window, CV_WINDOW_AUTOSIZE); lane_binary_output = ros::this_node::getName() + std::string("/lane_binary_output"); cv::namedWindow(lane_binary_output, CV_WINDOW_AUTOSIZE); } }
LogitechCamera::LogitechCamera(int argc, char** argv) : Sensor(argc, argv) { camera_id = std::atoi(argv[1]); node_name = argv[2]; std::cout<<"camera_id:"<<camera_id<<std::endl; std::cout<<"node_name:"<<node_name<<std::endl; ros::init(argc, argv, node_name.c_str()); ros::NodeHandle node_handle; loadParams(node_handle); setupComms(node_handle); }