Common code for working with images in ROS:

camera_calibration_parsers contains routines for reading and writing camera
calibration parameters.

image_transport should always be used to subscribe to and publish images. It
provides transparent support for transporting images in low-bandwidth
compressed formats. Examples (provided by separate plugin packages) include
JPEG/PNG compression and Theora streaming video.

polled_camera contains a service and C++ helper classes for implementing a
polled camera driver node and requesting images from it. The package is
currently for internal use as the API is still under development.

WWW: http://www.ros.org/wiki/image_common
This commit is contained in:
Rene Ladan 2010-11-29 15:36:23 +00:00
parent 39f4de97e0
commit f2f20fb269
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=265390
4 changed files with 200 additions and 0 deletions

View file

@ -0,0 +1,78 @@
# New ports collection makefile for: ros-image_common
# Date created: 2010-11-27
# Whom: Rene Ladan <rene@FreeBSD.org>
#
# $FreeBSD$
PORTNAME= ros-image_common
PORTVERSION= 1.2.0
CATEGORIES= devel
MASTER_SITES= ftp://rene-ladan.nl/pub/distfiles/ros/
DISTNAME= image_common-${PORTVERSION}
DIST_SUBDIR= ros
MAINTAINER= rene@FreeBSD.org
COMMENT= Robot Operating System - common image routines
LICENSE= BSD
STACKNAME= ${PORTNAME:S/ros-//}
WRKSRC= ${WRKDIR}/${STACKNAME}
BUILD_DEPENDS= rosmake:${PORTSDIR}/devel/ros \
${LOCALBASE}/ros/stacks/common/stack.xml:${PORTSDIR}/devel/ros-common \
${LOCALBASE}/ros/stacks/common_msgs/stack.xml:${PORTSDIR}/devel/common_msgs \
chrpath:${PORTSDIR}/devel/chrpath
RUN_DEPENDS= roscore:${PORTSDIR}/devel/ros \
${LOCALBASE}/ros/stacks/common/stack.xml:${PORTSDIR}/devel/ros-common \
${LOCALBASE}/ros/stacks/common_msgs/stack.xml:${PORTSDIR}/devel/common_msgs
USE_PYTHON= yes
USE_BZIP2= yes
USE_LDCONFIG= yes
# rosmake does its own threading
MAKE_JOBS_UNSAFE= yes
CFLAGS+= -I${LOCALBASE}/include
MAKE_ENV+= CPATH=${LOCALBASE}/include \
LIBRARY_PATH=${LOCALBASE}/lib \
MAKE=${LOCALBASE}/bin/gmake \
ROS_ROOT=${LOCALBASE}/ros/ros \
ROS_PACKAGE_PATH=${LOCALBASE}/ros/stacks/common:${LOCALBASE}/ros/stacks/common_msgs:${WRKSRC} \
PYTHONPATH=${LOCALBASE}/ros/ros/core/roslib/src
MAKE_ARGS= -i --no-rosdep --status-rate=0 --disable-logging
do-build:
(cd ${WRKSRC} ; ${MAKE_ENV} ${LOCALBASE}/bin/rosmake ${MAKE_ARGS})
do-install:
${MKDIR} ${PREFIX}/ros/stacks/${STACKNAME}
# delete files explicitly because negation in find (for COPYTREE_SHARE) is bogus
.for d in camera_calibration_parsers image_transport polled_camera
${FIND} ${WRKSRC}/${d} -name build -type d -or -name \*.bak -type f \
-or -name .svnignore -type f -or -name .cvsignore -type f \
-or -name \*.orig | ${XARGS} ${RM} -rf
(cd ${WRKSRC} ; ${COPYTREE_SHARE} ${d} ${PREFIX}/ros/stacks/${STACKNAME})
.endfor
.for f in CMakeLists.txt Makefile stack.xml
${INSTALL_DATA} ${WRKSRC}/${f} ${PREFIX}/ros/stacks/${STACKNAME}
.endfor
# strip ELF programs and make them executable
.for f in camera_calibration_parsers/bin/convert \
image_transport/bin/list_transports image_transport/bin/republish \
polled_camera/bin/poller
${STRIP_CMD} ${PREFIX}/ros/stacks/${STACKNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/stacks/${STACKNAME}/${f}
${CHMOD} 0555 ${PREFIX}/ros/stacks/${STACKNAME}/${f}
.endfor
# strip and symlink ELF libaries
.for f in camera_calibration_parsers/lib/libcamera_calibration_parsers.so \
image_transport/lib/libimage_transport.so \
polled_camera/lib/libpolled_camera.so
${STRIP_CMD} ${PREFIX}/ros/stacks/${STACKNAME}/${f}
${LOCALBASE}/bin/chrpath -d ${PREFIX}/ros/stacks/${STACKNAME}/${f}
${LN} -s ${PREFIX}/ros/stacks/${STACKNAME}/${f} ${PREFIX}/lib
.endfor
.include <bsd.port.mk>

View file

@ -0,0 +1,2 @@
SHA256 (ros/image_common-1.2.0.tar.bz2) = 91ebf01f68d7485cf42dbde53749c1819f8fb266d9b2f1f1d803894a485b06aa
SIZE (ros/image_common-1.2.0.tar.bz2) = 21669

View file

@ -0,0 +1,15 @@
Common code for working with images in ROS:
camera_calibration_parsers contains routines for reading and writing camera
calibration parameters.
image_transport should always be used to subscribe to and publish images. It
provides transparent support for transporting images in low-bandwidth
compressed formats. Examples (provided by separate plugin packages) include
JPEG/PNG compression and Theora streaming video.
polled_camera contains a service and C++ helper classes for implementing a
polled camera driver node and requesting images from it. The package is
currently for internal use as the API is still under development.
WWW: http://www.ros.org/wiki/image_common

View file

@ -0,0 +1,105 @@
lib/libcamera_calibration_parsers.so
lib/libimage_transport.so
lib/libpolled_camera.so
ros/stacks/image_common/CMakeLists.txt
ros/stacks/image_common/Makefile
ros/stacks/image_common/camera_calibration_parsers/CMakeLists.txt
ros/stacks/image_common/camera_calibration_parsers/Makefile
ros/stacks/image_common/camera_calibration_parsers/ROS_NOBUILD
ros/stacks/image_common/camera_calibration_parsers/bin/convert
ros/stacks/image_common/camera_calibration_parsers/include/camera_calibration_parsers/parse.h
ros/stacks/image_common/camera_calibration_parsers/include/camera_calibration_parsers/parse_ini.h
ros/stacks/image_common/camera_calibration_parsers/include/camera_calibration_parsers/parse_yml.h
ros/stacks/image_common/camera_calibration_parsers/lib/libcamera_calibration_parsers.so
ros/stacks/image_common/camera_calibration_parsers/mainpage.dox
ros/stacks/image_common/camera_calibration_parsers/manifest.xml
ros/stacks/image_common/camera_calibration_parsers/src/convert.cpp
ros/stacks/image_common/camera_calibration_parsers/src/parse.cpp
ros/stacks/image_common/camera_calibration_parsers/src/parse_ini.cpp
ros/stacks/image_common/camera_calibration_parsers/src/parse_yml.cpp
ros/stacks/image_common/image_transport/CMakeLists.txt
ros/stacks/image_common/image_transport/Makefile
ros/stacks/image_common/image_transport/ROS_NOBUILD
ros/stacks/image_common/image_transport/bin/list_transports
ros/stacks/image_common/image_transport/bin/republish
ros/stacks/image_common/image_transport/default_plugins.xml
ros/stacks/image_common/image_transport/include/image_transport/camera_common.h
ros/stacks/image_common/image_transport/include/image_transport/camera_publisher.h
ros/stacks/image_common/image_transport/include/image_transport/camera_subscriber.h
ros/stacks/image_common/image_transport/include/image_transport/exception.h
ros/stacks/image_common/image_transport/include/image_transport/image_transport.h
ros/stacks/image_common/image_transport/include/image_transport/loader_fwds.h
ros/stacks/image_common/image_transport/include/image_transport/publisher.h
ros/stacks/image_common/image_transport/include/image_transport/publisher_plugin.h
ros/stacks/image_common/image_transport/include/image_transport/raw_publisher.h
ros/stacks/image_common/image_transport/include/image_transport/raw_subscriber.h
ros/stacks/image_common/image_transport/include/image_transport/simple_publisher_plugin.h
ros/stacks/image_common/image_transport/include/image_transport/simple_subscriber_plugin.h
ros/stacks/image_common/image_transport/include/image_transport/single_subscriber_publisher.h
ros/stacks/image_common/image_transport/include/image_transport/subscriber.h
ros/stacks/image_common/image_transport/include/image_transport/subscriber_filter.h
ros/stacks/image_common/image_transport/include/image_transport/subscriber_plugin.h
ros/stacks/image_common/image_transport/include/image_transport/transport_hints.h
ros/stacks/image_common/image_transport/lib/libimage_transport.so
ros/stacks/image_common/image_transport/mainpage.dox
ros/stacks/image_common/image_transport/manifest.xml
ros/stacks/image_common/image_transport/src/camera_common.cpp
ros/stacks/image_common/image_transport/src/camera_publisher.cpp
ros/stacks/image_common/image_transport/src/camera_subscriber.cpp
ros/stacks/image_common/image_transport/src/image_transport.cpp
ros/stacks/image_common/image_transport/src/list_transports.cpp
ros/stacks/image_common/image_transport/src/manifest.cpp
ros/stacks/image_common/image_transport/src/publisher.cpp
ros/stacks/image_common/image_transport/src/republish.cpp
ros/stacks/image_common/image_transport/src/single_subscriber_publisher.cpp
ros/stacks/image_common/image_transport/src/subscriber.cpp
ros/stacks/image_common/polled_camera/CMakeLists.txt
ros/stacks/image_common/polled_camera/Makefile
ros/stacks/image_common/polled_camera/ROS_NOBUILD
ros/stacks/image_common/polled_camera/bin/poller
ros/stacks/image_common/polled_camera/include/polled_camera/publication_server.h
ros/stacks/image_common/polled_camera/lib/libpolled_camera.so
ros/stacks/image_common/polled_camera/mainpage.dox
ros/stacks/image_common/polled_camera/manifest.xml
ros/stacks/image_common/polled_camera/src/polled_camera/__init__.py
ros/stacks/image_common/polled_camera/src/polled_camera/srv/_GetPolledImage.py
ros/stacks/image_common/polled_camera/src/polled_camera/srv/__init__.py
ros/stacks/image_common/polled_camera/src/poller.cpp
ros/stacks/image_common/polled_camera/src/publication_server.cpp
ros/stacks/image_common/polled_camera/srv/GetPolledImage.srv
ros/stacks/image_common/polled_camera/srv/lisp/polled_camera/.GetPolledImage.asd-dep
ros/stacks/image_common/polled_camera/srv/lisp/polled_camera/GetPolledImage.lisp
ros/stacks/image_common/polled_camera/srv/lisp/polled_camera/_package.lisp
ros/stacks/image_common/polled_camera/srv/lisp/polled_camera/_package_GetPolledImage.lisp
ros/stacks/image_common/polled_camera/srv/lisp/polled_camera/polled_camera-srv.asd
ros/stacks/image_common/polled_camera/srv_gen/cpp/include/polled_camera/GetPolledImage.h
ros/stacks/image_common/polled_camera/srv_gen/generated
ros/stacks/image_common/stack.xml
@dirrm ros/stacks/image_common/polled_camera/srv_gen/cpp/include/polled_camera
@dirrm ros/stacks/image_common/polled_camera/srv_gen/cpp/include
@dirrm ros/stacks/image_common/polled_camera/srv_gen/cpp
@dirrm ros/stacks/image_common/polled_camera/srv_gen
@dirrm ros/stacks/image_common/polled_camera/srv/lisp/polled_camera
@dirrm ros/stacks/image_common/polled_camera/srv/lisp
@dirrm ros/stacks/image_common/polled_camera/srv
@dirrm ros/stacks/image_common/polled_camera/src/polled_camera/srv
@dirrm ros/stacks/image_common/polled_camera/src/polled_camera
@dirrm ros/stacks/image_common/polled_camera/src
@dirrm ros/stacks/image_common/polled_camera/lib
@dirrm ros/stacks/image_common/polled_camera/include/polled_camera
@dirrm ros/stacks/image_common/polled_camera/include
@dirrm ros/stacks/image_common/polled_camera/bin
@dirrm ros/stacks/image_common/polled_camera
@dirrm ros/stacks/image_common/image_transport/src
@dirrm ros/stacks/image_common/image_transport/lib
@dirrm ros/stacks/image_common/image_transport/include/image_transport
@dirrm ros/stacks/image_common/image_transport/include
@dirrm ros/stacks/image_common/image_transport/bin
@dirrm ros/stacks/image_common/image_transport
@dirrm ros/stacks/image_common/camera_calibration_parsers/src
@dirrm ros/stacks/image_common/camera_calibration_parsers/lib
@dirrm ros/stacks/image_common/camera_calibration_parsers/include/camera_calibration_parsers
@dirrm ros/stacks/image_common/camera_calibration_parsers/include
@dirrm ros/stacks/image_common/camera_calibration_parsers/bin
@dirrm ros/stacks/image_common/camera_calibration_parsers
@dirrm ros/stacks/image_common