ROS python程序将本地照片转为topic
ROS python程序将本地照片转为topic
#!/usr/bin/env python3
# coding=utf-8
import os
import cv2
import numpy as np
import rospy
from sensor_msgs.msg import Image
from ros_numpy.image import numpy_to_image
if __name__ == '__main__':
image_dir = '/media/yake/Data/机场跑道灯/01imgs2topic'
image_list = os.listdir(image_dir)
image_list = [os.path.join(image_dir, i) for i in image_list]
image_iter = iter(image_list)
rospy.init_node('image_publish')
topic_name='/pylon_camera_node/image_raw'
publisher = rospy.Publisher(topic_name, Image, queue_size=1)
print("output topic name: {}".format(topic_name))
loop_rate = rospy.Rate(1)
print (f'publishing image with loop rate {1} HZ', loop_rate)
print (f'The directory should not have child directories.')
while not rospy.is_shutdown():
try:
image_path = next(image_iter)
except StopIteration:
image_iter = iter(image_list)
image_path = next(image_iter)
image = cv2.imread(image_path)
if image is not None:
image_msg = numpy_to_image(image, encoding='bgr8')
# image_msg = numpy_to_image(image, encoding='bayer_gbrg8')
publisher.publish(image_msg)
loop_rate.sleep()
else:
print (f'image not exist or broken')