Go to the documentation of this file.00001
00002 import roslib; roslib.load_manifest('iri_stereo_visual_odometry')
00003 import rospy
00004 import os
00005 import sys
00006 import cv
00007 import rosbag
00008 from cv import *
00009 from sensor_msgs.msg import Image
00010 from std_msgs.msg import String
00011 from cv_bridge import CvBridge, CvBridgeError
00012
00013
00014 def spit():
00015
00016 rospy.loginfo(" Publish Images from Folder ")
00017 rospy.loginfo(" ")
00018
00019
00020
00021 folder = "/home/user/iri-lab/labrobotica/algorithms/stereo_visual_odometry/trunk/images"
00022 folder = "/home/gmoreno/iri-lab/ros/iri-ros-pkg/iri_odometry_publisher/iri_stereo_visual_odometry/data"
00023
00024 if(folder[6:10]=="user"):
00025 rospy.loginfo(" How To: 1. donar permisos: chmod +x publish_img_folder.py ")
00026 rospy.loginfo(" 2.a. executar: ./publish_img_folder.py (canviar user i path a linia 21)")
00027 rospy.loginfo(" ")
00028
00029 else:
00030
00031
00032 publeft = rospy.Publisher('stereo/left/image', Image)
00033 pubright = rospy.Publisher('stereo/right/image', Image)
00034
00035
00036 rospy.init_node('spit')
00037
00038
00039 cvb = CvBridge()
00040
00041
00042 font = cv.InitFont(cv.CV_FONT_HERSHEY_COMPLEX,3, 3, 0.0, 5, 8)
00043 warming_image = cv.CreateImage((1280,960), cv.IPL_DEPTH_8U, 1)
00044 cv.PutText(warming_image,"Warming", (600,450),font, 255)
00045 ros_image = cvb.cv_to_imgmsg(warming_image, encoding="passthrough")
00046 ros_image.header.stamp = rospy.Time.now()
00047 publeft.publish(ros_image)
00048 pubright.publish(ros_image)
00049 rospy.loginfo(" Warm images publicades")
00050 rospy.loginfo(" ")
00051 rospy.loginfo(" ---------- ")
00052 rospy.loginfo(" ")
00053
00054
00055 for root, dirs, files in os.walk(folder):
00056
00057
00058 files.sort()
00059
00060
00061 for name in files:
00062
00063
00064 filename = os.path.join(root, name)
00065 camera = int(filename[len(filename)-5])
00066
00067 try:
00068
00069
00070 cv_image = LoadImage (filename, 1)
00071 camera_maco = "left" if camera==1 else "right"
00072 rospy.loginfo(" Imatge %s carregada: ...%s",camera_maco,filename[-35:])
00073
00074
00075
00076
00077
00078 ros_image = cvb.cv_to_imgmsg(cv_image, encoding="passthrough")
00079 rospy.loginfo(" 1 mida: %d %d",ros_image.width,ros_image.height)
00080 ros_image.header.stamp = rospy.Time.now()
00081 ros_image.header.frame_id = "/stereo/left" if camera==1 else "/stereo/right"
00082 rospy.loginfo(" 2 header escrit, frame_id: %s stamp: %s",ros_image.header.frame_id,ros_image.header.stamp)
00083
00084
00085 if(camera==1):
00086 publeft.publish(ros_image)
00087 else:
00088 pubright.publish(ros_image)
00089 rospy.loginfo(" 3 imatge publicada")
00090 rospy.loginfo(" ")
00091
00092 except:
00093
00094 rospy.loginfo(" FAIL")
00095
00096
00097 if(camera!=1):
00098 rospy.sleep(0.2)
00099 rospy.loginfo(" ---------- ")
00100 rospy.loginfo(" ")
00101
00102 rospy.loginfo(" THE END")
00103
00104
00105 if __name__ == '__main__':
00106 try:
00107 spit()
00108 except rospy.ROSInterruptException:
00109 pass
00110
00111