import sensor_msgs.msg as sm # create a message to store calibration information cam_info = sm.CameraInfo() # set the intrinsic matrix cam_info.K = [500.0, 0.0, 320.0, 0.0, 500.0, 240.0, 0.0, 0.0, 1.0] # set the distortion coefficient cam_info.D = [0.1, -0.2, 0.3, -0.4, 0.5] # set the image size cam_info.width, cam_info.height = 640, 480 # set the header timestamp cam_info.header.stamp = rospy.Time.now() # publish message to camera_info topic camera_info_pub.publish(cam_info)
import rospy from sensor_msgs.msg import CameraInfo # create a subscriber for camera_info topic def cam_info_callback(cam_info): # read the intrinsic matrix print("Intrinsic matrix: \n", cam_info.K) # read the distortion coefficient print("Distortion coefficient: \n", cam_info.D) # read the image size print("Image size: ", cam_info.width, "x", cam_info.height) # read the header timestamp print("Header timestamp: ", cam_info.header.stamp) rospy.init_node('camera_info_subscriber') rospy.Subscriber('camera_info', CameraInfo, cam_info_callback) rospy.spin()The `sensor_msgs.msg` package is a ROS library that contains messages for various sensor-related information that is used for ROS communication.