You can turn the numpy array into a single-channel CV image, then use cv_bridge to turn it into a message: msg = CvBridge().cv_to_imgmsg(cv.fromarray(a)) and: a = numpy.fromarray(CvBridge().imgmsg_to_cv(msg)) On Mon, Jun 14, 2010 at 3:27 PM, Ken Conley wrote: > The ROS msg IDL only supports 1D arrays. The reshape approach is the > correct approach to ensure compatibility in multiple languages. > > - Ken > > On Mon, Jun 14, 2010 at 3:23 PM, Floris van Breugel wrote: > >> Hi folks, >> >> Is there a way to publish 2D numpy arrays as messages (using python)? I >> went through the numpy tutorial for rospy but it seems to only work for 1D >> arrays. I suppose one could reshape the 2D array to be 1D, and pass the >> shape as another message, and then reconstruct it on the other side, but >> maybe there's a more efficient way to do it? Or that functionality could be >> added to numpy_msg.py? >> http://www.ros.org/wiki/rospy_tutorials/Tutorials/numpy >> >> Thanks! >> >> - Floris >> >> >> >> -- >> Floris van Breugel >> Caltech Graduate Student >> Control and Dynamical Systems >> (925) 963 8280 >> >> Wildlife and Landscape Photographer >> Galleries: http://www.ArtInNaturePhotography.com/ >> Blog: http://www.ArtInNaturePhotography.com/wordpress/ >> 2010 CALENDARS! Now available on my website! >> >> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> >> > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > > -- J.