| 21 | |
| 22 | namespace roborts_camera{ |
| 23 | CameraNode::CameraNode() { |
| 24 | camera_num_ = camera_param_.GetCameraParam().size(); |
| 25 | img_pubs_.resize(camera_num_); |
| 26 | camera_threads_.resize(camera_num_); |
| 27 | camera_driver_.resize(camera_num_); |
| 28 | |
| 29 | for (unsigned int i = 0; i < camera_num_; i++) { |
| 30 | auto camera_info = camera_param_.GetCameraParam()[i]; |
| 31 | nhs_.push_back(ros::NodeHandle(camera_info.camera_name)); |
| 32 | image_transport::ImageTransport it(nhs_.at(i)); |
| 33 | img_pubs_[i] = it.advertiseCamera("image_raw", 1, true); |
| 34 | //create the selected camera driver |
| 35 | camera_driver_[i] = roborts_common::AlgorithmFactory<CameraBase,CameraInfo>::CreateAlgorithm(camera_info.camera_type,camera_info); |
| 36 | } |
| 37 | |
| 38 | StartThread(); |
| 39 | } |
| 40 | |
| 41 | void CameraNode::StartThread() { |
| 42 | running_ = true; |