MCPcopy Create free account
hub / github.com/RoboMaster/RoboRTS / LoadCameraParam

Method LoadCameraParam

roborts_camera/camera_param.cpp:29–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27}
28
29void CameraParam::LoadCameraParam() {
30 Cameras camera_info;
31 std::string file_name = ros::package::getPath("roborts_camera") + "/config/camera_param.prototxt";
32 bool read_state = roborts_common::ReadProtoFromTextFile(file_name, &camera_info);
33 ROS_ASSERT_MSG(read_state, "Cannot open %s", file_name.c_str());
34
35 //camera number and ids
36 int camera_num = camera_info.camera().size();
37 cameras_param_.resize(camera_num);
38 for(unsigned int index = 0; index < camera_num; index++) {
39
40 //camera id
41 cameras_param_[index].camera_name = camera_info.camera(index).camera_name();
42 cameras_param_[index].camera_type = camera_info.camera(index).camera_type();
43 cameras_param_[index].camera_path = camera_info.camera(index).camera_path();
44
45 //camera resolution
46 cameras_param_[index].resolution_width = camera_info.camera(index).resolution().width();
47 cameras_param_[index].resolution_height = camera_info.camera(index).resolution().height();
48 cameras_param_[index].width_offset = camera_info.camera(index).resolution().width_offset();
49 cameras_param_[index].height_offset = camera_info.camera(index).resolution().height_offset();
50
51 //fps
52 cameras_param_[index].fps = camera_info.camera(index).fps();
53
54 //exposure
55 cameras_param_[index].auto_exposure = camera_info.camera(index).auto_exposure();
56 cameras_param_[index].exposure_value = camera_info.camera(index).exposure_value();
57 cameras_param_[index].exposure_time = camera_info.camera(index).exposure_time();
58
59 //white_balance and gain
60 cameras_param_[index].auto_white_balance = camera_info.camera(index).auto_white_balance();
61 cameras_param_[index].auto_gain = camera_info.camera(index).auto_gain();
62
63 //constrast
64 cameras_param_[index].contrast = camera_info.camera(index).contrast();
65
66 //camera matrix
67 int camera_m_size = camera_info.camera(index).camera_matrix().data().size();
68 double camera_m[camera_m_size];
69 std::copy(camera_info.camera(index).camera_matrix().data().begin(),
70 camera_info.camera(index).camera_matrix().data().end(),
71 camera_m);
72 cameras_param_[index].camera_matrix = cv::Mat(3, 3, CV_64F, camera_m).clone();
73
74 //camera distortion
75 int rows = camera_info.camera(index).camera_distortion().data_size();
76 double camera_dis[rows];
77 std::copy(camera_info.camera(index).camera_distortion().data().begin(),
78 camera_info.camera(index).camera_distortion().data().end(),
79 camera_dis);
80 cameras_param_[index].camera_distortion = cv::Mat(rows, 1, CV_64F, camera_dis).clone();
81
82 //ros camera info
83 cameras_param_[index].ros_camera_info = boost::make_shared<sensor_msgs::CameraInfo>();
84 cameras_param_[index].ros_camera_info->header.frame_id = cameras_param_[index].camera_name;
85 cameras_param_[index].ros_camera_info->width = cameras_param_[index].resolution_width;
86 cameras_param_[index].ros_camera_info->height = cameras_param_[index].resolution_height;

Callers

nothing calls this directly

Calls 2

ReadProtoFromTextFileFunction · 0.85
resizeMethod · 0.80

Tested by

no test coverage detected