Esempio n. 1
0
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);
}