GithubHelp home page GithubHelp logo

ros-perception / image_pipeline Goto Github PK

View Code? Open in Web Editor NEW
755.0 755.0 711.0 26 MB

An image processing pipeline for ROS.

License: Other

CMake 2.29% Python 35.29% C++ 59.52% C 2.90%
c-plus-plus image-processing python ros

image_pipeline's People

Contributors

ahcorde avatar bulwahn avatar christianrauch avatar clalancette avatar cottsay avatar garaemon avatar guilyx avatar ijnek avatar ivanpauno avatar jacobperron avatar jbosch avatar jolting avatar jwhitleywork avatar k-okada avatar klintan avatar mikeferguson avatar mjcarroll avatar paudrow avatar pmusau17 avatar roehling avatar soeroesg avatar stevemacenski avatar tfoote avatar valgur avatar vmayoral avatar vrabaud avatar wjwwood avatar wkentaro avatar yechun1 avatar yoneken avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

image_pipeline's Issues

cameracalibrator.py crashes when "Calibrate" is pushed.

Once a sufficient number of samples are captured and the calibration matrix is calculated, cameracalibrator.py crashes with the following trace:

OpenCV Error: Assertion failed (src.channels() == dst.channels()) in cvCopy, file /tmp/buildd/ros-groovy-opencv2-2.4.4-1precise-20130301-2019/modules/core/src/copy.cpp, line 575
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    self.run()
  File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 68, in run
    self.function(m)
  File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 136, in handle_monocular
    self.redraw_monocular(drawable)
  File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 248, in redraw_monocular
    cv.Copy(drawable.scrib, cv.GetSubRect(display, (0,0,width,height)))
error: src.channels() == dst.channels()

This appears to happen because the calibration switches from color to grayscale once it's calibrated. This appears to be related to the following changes:

907bab8
bf65e37

Error using asymmetric circle pattern

Hi community. After all the problems with the chessboard i tried to use an asymmetric circle pattern instead for the calibration of a single usb webcam. In most cases the pattern has been recognized and the calibration starts. But sooner or later I always get the same error:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
python: /build/buildd/cairo-1.10.2/src/cairo-surface.c:1287: cairo_surface_set_device_offset: Assertion `status == CAIRO_STATUS_SUCCESS' failed.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Does anyone know where this error comes from?

Camera calibration causes spinning beachball on OSX

When I try to use the calibration routine, it seems to function normally, only I get a spinning beachball in the place of my cursor. The upshot is that it's impossible to interact with the GUI.

On the backend, everything seems to be normal. The console updates with new calibration data, and the X, Y, Size, and Skew progress bars behave normally.

http://stackoverflow.com/questions/23642674/how-to-spawn-thread-and-initialize-qt-application-in-python-with-mac-osx is the only reference I've found to a python/OSX beachball problem, but I'm unsure if it applies here.

Sync Problem.

Hi.
I'm running ros fuerte. The revision 2863 of GScam.
I'm trying to get a rectified image to use then for the node viso2. But I have a problem, after I made the calibration. I have a warning:

[image_transport] Topics '/Dava/image_mono' and '/Dava/gscam/camera_info' do not appear to be synchronized. In the last 10s: Image messages received: 80 CameraInfo messages received: 80 Synchronized pairs: 0

The problem is I can't see the rectified image when I Subscribed the topic in image_view.

I put all the details in this link:
http://answers.ros.org/question/84611/synchronized-problem-related-to-calibration/

I will appreciate any respond . Thank you

add test to image_proc

First level of testing: push an image through image_proc and verify that the outputs match the expected outputs.

Raw image might be:

Distorted/distortion-free.
Bayer/mono/RGB/BGR.

Missing pthread library at link time

image_rotate does not compile on Fedora because pthread is not linked in. I think that the root of this problem is in OpenCV (which is where the pthread routines are used) but it doesn't seem to have affected any packages but this one.

Adding "pthread" to the link_libraries will allow image_rotate to compile on Fedora, but I don't know if this is the BEST solution.

Uncaught exception for Kinect

terminate called after throwing an instance of 'cv_bridge::Exception'
what(): Unsupported conversion from [bayer_grbg8] to [mono8]
[camera_nodelet_manager-1] process has died [pid 20426, exit code -6, cmd /opt/ros/groovy/lib/nodelet/nodelet manager __name:=camera_nodelet_manager __log:=/u/chadrockey/.ros/log/9a809312-55e7-11e2-a397-6c626d40a501/camera_nodelet_manager-1.log].
log file: /u/chadrockey/.ros/log/9a809312-55e7-11e2-a397-6c626d40a501/camera_nodelet_manager-1*.log

This is somewhere in image_proc, here's the output from running it after 'rosrun openni_camera openni_node' on a Kinect.

rosrun image_proc image_proc image_raw:=/rgb/image_raw camera_info:=/rgb/camera_info
[ WARN] [1357248397.699076677]: Started in the global namespace! This is probably wrong. Start image_proc in the camera namespace.
Example command-line usage:
$ ROS_NAMESPACE=my_camera rosrun image_proc image_proc
terminate called after throwing an instance of 'cv_bridge::Exception'
what(): Unsupported conversion from [bayer_grbg8] to [mono8]
Aborted (core dumped)

Camera calibration not saving tarfile

Hi,

when I've tried to save a calibration using the SAVE button, python outputs:

Traceback (most recent call last):
File "/opt/ros/hydro/lib/camera_calibration/cameracalibrator.py", line 205, in on_mouse
self.c.do_save()
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 511, in do_save
self.do_tarfile_save(tf) # Must be overridden in subclasses
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 826, in do_tarfile_save
taradd(name, cv.EncodeImage(".png", im).tostring())
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 817, in taradd
s = StringIO.StringIO(buf)
AttributeError: type object '_io.StringIO' has no attribute 'StringIO'

and no file is saved. The code line reported is in https://github.com/ros-perception/image_pipeline/blob/indigo/camera_calibration/src/camera_calibration/calibrator.py#L817

May that be an import error?

Issue rectifying 16bit mono images

OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.widt
h <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in
 Mat, file /tmp/buildd/ros-hydro-opencv2-2.4.6-3precise-20140130-1852/modules/co
re/src/matrix.cpp, line 323
terminate called after throwing an instance of 'cv::Exception'
  what():  /tmp/buildd/ros-hydro-opencv2-2.4.6-3precise-20140130-1852/modules/co
re/src/matrix.cpp:323: error: (-215) 0 <= roi.x && 0 <= roi.width && roi.x + roi
.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.row
s in function Mat

Launch File

  <group ns="/camera">
    <node pkg="nodelet" type="nodelet" name="rectify_mono"
      args="standalone image_proc/rectify" output="screen">
      <remap from="image_mono" to="image_raw" />
    </node>
  </group>

Here is the camera info
Image was decimated on-board the camera.

header: 
  seq: 9904
  stamp: 
    secs: 1392345058
    nsecs: 255573802
  frame_id: camera
height: 728
width: 968
distortion_model: plumb_bob
D: [-21.48163, 2154.22524, 0.24333000000000002, -0.24100000000000002, 0.0]
K: [6830.9773, 0.0, 437.66934, 0.0, 39782.98468, 304.66521, 0.0, 0.0, 1.0]
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P: [6439.25391, 0.0, 412.88838, 0.0, 0.0, 42096.67578, 324.95043, 0.0, 0.0, 0.0,
 1.0, 0.0]
binning_x: 2
binning_y: 2
roi: 
  x_offset: 0
  y_offset: 0
  height: 1456
  width: 1936
  do_rectify: True

---

Image header
rostopic echo --noarr /camera/image_raw

header: 
  seq: 9930
  stamp: 
    secs: 1392345061
    nsecs: 859107259
  frame_id: camera
height: 728
width: 968
encoding: mono16
is_bigendian: 0
step: 1936

---

stereo_image_proc vs triclops SDK

Hi all,
I am very new to stereo vision and recently got the bumblebee xb3.

Does anyone know the difference in performance between 3D pointcloud generated by stereo_image_proc vs triclops SDK? I understand the techniques used are the same. Is it better, worse or same?

In addition to this, is there anyway I could use the stereo_image_proc for more than 2 lens?

Cheers
Aswin

ImportError: No module named cv_bridge_boost on Mac OS X

I am getting exactly the same error as in #18

I am on Mac OS 10.8.4. cv_bridge is of version 1.10.6. What do you think the cause of the error could be?

Here is the log

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/camera/image_raw camera:=/camera
Waiting for service /camera/set_camera_info ...
OK
Exception in thread Thread-4:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 68, in run
    self.function(m)
  File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 134, in handle_monocular
    drawable = self.c.handle_msg(msg)
  File "/opt/ros/groovy/lib/python2.7/site-packages/camera_calibration/calibrator.py", line 736, in handle_msg
    gray = self.mkgray(msg)
  File "/opt/ros/groovy/lib/python2.7/site-packages/camera_calibration/calibrator.py", line 271, in mkgray
    return self.br.imgmsg_to_cv(msg, "mono8")
  File "/opt/ros/groovy/lib/python2.7/site-packages/cv_bridge/core.py", line 101, in imgmsg_to_cv
    source_type = self.encoding_as_cvtype(img_msg.encoding)
  File "/opt/ros/groovy/lib/python2.7/site-packages/cv_bridge/core.py", line 73, in encoding_as_cvtype
    from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: No module named cv_bridge_boost

Problem with the image_pipeline camera_calibration nodes

Hi community,

I'm trying to use the image_pipeline-package to realize a stereovisual system with ros and opencv.

When I use the node for calibration of one usb-camera I get an error every time I put the chessboard (8x6) in front of the camera and the node freezes. I googled the problem and found two ros-questions similar to my problem. One answer was to install a 64-bit version of ubuntu, and the second one was to remove opencv-files from the ros-libraries and install the original opencv-files instead. Now I'm wondering if theres another way to get rid of my problem and where it comes from. I attached the output of my console below my request.

I,ve also tried to use the stereocalibration from this package and the cpp-tutorial calibration from the OpenCV Tutorials. The result was the same.

I'm currently using Ubuntu 12.04 with ros-hydro-installation.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0242 image:=/stereo/left/image_raw camera:=/stereo/left Waiting for service /stereo/left/set_camera_info ... OK * Added sample 1, p_x = 0.931, p_y = 0.486, p_size = 0.349, skew = 0.186 OpenCV Error: Assertion failed (blockSize % 2 == 1 && blockSize > 1) in adaptiveThreshold, file /tmp/buildd/ros-hydro-opencv2-2.4.6-1precise-20130919-0139/modules/imgproc/src/thresh.cpp, line 797 Exception in thread Thread-3: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner self.run() File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/nodes/cameracalibrator.py", line 68, in run self.function(m) File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/nodes/cameracalibrator.py", line 134, in handle_monocular drawable = self.c.handle_msg(msg) File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/calibrator.py", line 740, in handle_msg scrib_mono, corners, downsampled_corners, board, (x_scale, y_scale) = self.downsample_and_detect(gray) File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/calibrator.py", line 410, in downsample_and_detect (ok, downsampled_corners, board) = self.get_corners(scrib, refine = True) File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/calibrator.py", line 378, in get_corners (ok, corners) = _get_corners(img, b, refine) File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/calibrator.py", line 156, in _get_corners (ok, corners) = cv.FindChessboardCorners(mono, (board.n_cols, board.n_rows), cv.CV_CALIB_CB_ADAPTIVE_THRESH | cv.CV_CALIB_CB_NORMALIZE_IMAGE | cv2.CALIB_CB_FAST_CHECK) error: blockSize % 2 == 1 && blockSize > 1

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

image_view sometimes ignores autosize parameter

When launching the image_view node with autosize=true, sometimes it
displays resize handles and allows resizing, and sometimes it does not.

When using a window manager where the resize handles have non-zero size
(such as fluxbox), this is annoying.

To reproduce:

  1. run fluxbox or another window manager that shows resize handles (I haven't tested with gnome/metacity or KDE)
  2. roscore
  3. roslaunch openni_launch openni.launch
  4. rosrun nodelet nodelet standalone image_proc/crop_decimate camera:=/camera/rgb _decimation_x:=2 _decimation_y:=2
  5. while sleep 1; do rosrun image_view image_view image:=/camera_out/image_raw _autosize:=True ; done
  6. repeatedly kill image_view; observe that sometimes it has resize handles and allows resizing, and sometimes does not.

stereo_image_proc headers not installed?

On Groovy, I get this error when compiling a project, using catkin_make, that uses stereo_image_proc: stereo_image_proc/processor.h: No such file or directory

I went to /opt/ros/groovy/include/stereo_image_proc, and indeed, it only contains one file: DisparityConfig.h. Why is this the case? Where did the other header files go? I asked this question on ROS Answers:
http://answers.ros.org/question/58316/stereo_image_procprocessorh-no-such-file-or-directory/

and a user told me to report it here because it looks like a bug. I'm running Ubuntu 12.04, and installed ROS with apt-get install ros-groovy-desktop-full.

cameracheck.py error with kinect/ir topic

When running

rosrun camera_calibration cameracheck.py --size 7x5 monocular:=/camera/ir image:=image_raw

I get the following error

OpenCV Error: Assertion failed (src.depth() == dst.depth()) in cvCvtColor, file /tmp/buildd/ros-groovy-opencv2-2.4.5-2precise-20130519-1747/modules/imgproc/src/color.cpp, line 3921
Exception in thread Thread-4:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    self.run()
  File "/opt/ros/groovy/lib/camera_calibration/cameracheck.py", line 84, in run
    self.function(m)
  File "/opt/ros/groovy/lib/camera_calibration/cameracheck.py", line 158, in handle_monocular
    C = self.image_corners(rgb)
  File "/opt/ros/groovy/lib/camera_calibration/cameracheck.py", line 145, in image_corners
    (ok, corners, b) = self.mc.get_corners(im)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 378, in get_corners
    (ok, corners) = _get_corners(img, b, refine)
  File "/opt/ros/groovy/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 153, in _get_corners
    cv.CvtColor(img, mono, cv.CV_BGR2GRAY)
error: src.depth() == dst.depth()

Obviously, the following command works.

rosrun camera_calibration cameracheck.py --size 7x5 monocular:=/camera/rgb image:=image

I'm using Ubuntu 12.04 with ROS Groovy.

cannot load depth_image_proc::ConvertMetricNodelet

I confirmed that nodelet manager cannot load depth_image_proc::convertMetricNodelet.

I tried in this way.

terminal1:

rosrun nodelet nodelet manager __name:=nodelet_manager

terminal2:

rosrun nodelet nodelet load depth_image_proc/convert_metric nodelet_manager

The below log is from nodelet_manager

Debug: class_loader::class_loader_core: Attempting to load library /home/jihoonl/ros_groovy/image_pipeline/depth_image_proc/build/devel/lib//libdepth_image_proc.so...

[ERROR] [1353032108.854135923]: Failed to load nodelet [/depth_image_proc_convert_metric] of type [depth_image_proc/convert_metric]: Failed to load library /home/jihoonl/ros_groovy/image_pipeline/depth_image_proc/build/devel/lib//libdepth_image_proc.so. Make sure that you are calling the PLUGINLIB_REGISTER_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = Cannot load library)
Debug: class_loader::class_loader_core: Attempting to load library /home/jihoonl/ros_groovy/image_pipeline/depth_image_proc/build/devel/lib//libdepth_image_proc.so...

Debug: class_loader::MultiLibraryClassLoader: Attempting to create instance of class type depth_image_proc::ConvertMetricNodelet.
[ERROR] [1353032141.539973295]: Failed to load nodelet [/depth_image_proc_convert_metric] of type [depth_image_proc/convert_metric]: MultiLibraryClassLoader: Could not create object of class type depth_image_proc::ConvertMetricNodelet as no factory exists for it. Make sure that the library exists and was explicitly loaded through MultiLibraryClassLoader::loadLibrary()

[ERROR]: Skipping XML Document "/opt/ros/hydro/share/uvc_camera/nodelet_uvc_camera.xml" which had no Root Element.

I am running the latest Debian install of ROS Hydro under Ubuntu 12.04. At some point the following error message started showing up when launching either openni.launch or image_view; e.g.

$ rosrun image_view image_view image:=/camera/rgb/image_color

[ERROR] [1388762076.282169241]: Skipping XML Document "/opt/ros/hydro/share/uvc_camera/nodelet_uvc_camera.xml" which had no Root Element.  This likely means the XML is malformed or missing.

Both the openni node and image_view seem to run OK despite the error but the error itself is a little disconcerting, especially to new users.

Impossible to change the name in monocular calibration

The output of the monocular camera's calibration contains the line:

[narrow_stereo/left]

It should either be a parameter (given when starting the calibration) or a value like "camera" since it is not a stereo.

The problem stands here:
image_pipeline/camera_calibration/src/camera_calibration/calibrator.py:478: + "[narrow_stereo/%s]" % name + "\n"

Camera calibration crashes

Hi Comunity

I try to calibrate the kinect with camera_calibration on ros-hydro.

I type this command

$ rosrun camera_calibration cameracalibrator.py image:=/camera/rgb/image_raw camera:=/camera/rgb --size 8x6 --square 0.025

The cameracalibrator.py show an error when running, sometimes during start, sometimes when the checkboard is moving in the frame. If the checkboard is in the middle of the frame when the aplication starts, then sometimes I can see the checkboard from the GUI and the aplication gets the first calibration data and then fails.

The error message show:

OpenCV Error: Assertion failed (blockSize % 2 == 1 && blockSize > 1) in adaptiveThreshold, file /tmp/buildd/ros-hydro-opencv2-2.4.6-1precise-20130919-0139/modules/imgproc/src/thresh.cpp, line 797
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/opt/ros/hydro/lib/camera_calibration/cameracalibrator.py", line 68, in run
self.function(m)
File "/opt/ros/hydro/lib/camera_calibration/cameracalibrator.py", line 134, in handle_monocular
drawable = self.c.handle_msg(msg)
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 740, in handle_msg
scrib_mono, corners, downsampled_corners, board, (x_scale, y_scale) = self.downsample_and_detect(gray)
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 410, in downsample_and_detect
(ok, downsampled_corners, board) = self.get_corners(scrib, refine = True)
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 378, in get_corners
(ok, corners) = _get_corners(img, b, refine)
File "/opt/ros/hydro/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 156, in _get_corners
(ok, corners) = cv.FindChessboardCorners(mono, (board.n_cols, board.n_rows), cv.CV_CALIB_CB_ADAPTIVE_THRESH | cv.CV_CALIB_CB_NORMALIZE_IMAGE | cv2.CALIB_CB_FAST_CHECK)
error: blockSize % 2 == 1 && blockSize > 1

I have installed Ubuntu 12.04 32 bit and ros-hydro.

Please, help me find a solution to this problem . Thanks very much

captura de pantalla de 2013-10-09 10 52 29

new bug in cameracalibrator

line 175 :
cv.NamedWindow("display", CV_WINDOW_NORMAL)

CV_WINDOW_NORMAL does'nt exist... it sould'nt be : cv.CV_WINDOW_NORMAL?

Generating depth images via stereo_image_proc

As also asked occassionally on ROS Answers, it is not possible to generate depth images as per REP118 easily using stereo_image_proc, as the standard nodelets either produce a disparity image or a PointCloud2, but not the "intermediate" depth image that has been standardized in REP118. I implemented a very basic nodelet for this based on the existing point_cloud2 nodelet here and would polish it a bit and create a pull request for adding it to stereo_image_proc unless there´s some problem with that idea.

bug with standard groovy installation on ubuntu 12.10

$> rosrun camera_calibration cameracalibrator.py --size 6x7 --square 0.108 image:=/stereo/left/image_mono

Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 68, in run
self.function(m)
File "/opt/ros/groovy/lib/camera_calibration/cameracalibrator.py", line 134, in handle_monocular
drawable = self.c.handle_msg(msg)
File "/opt/ros/groovy/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 736, in handle_msg
rgb = self.mkgray(msg)
File "/opt/ros/groovy/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 270, in mkgray
rgb = self.br.imgmsg_to_cv(msg, "bgr8")
File "/opt/ros/groovy/lib/python2.7/dist-packages/cv_bridge/core.py", line 101, in imgmsg_to_cv
source_type = self.encoding_as_cvtype(img_msg.encoding)
File "/opt/ros/groovy/lib/python2.7/dist-packages/cv_bridge/core.py", line 73, in encoding_as_cvtype
from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: No module named cv_bridge_boost

Plugin can't find the library

In an installation from groovy debs, when the plugin gets used it cannot locate the library.

A simple workaround in image_transport/default_plugins.xml on the first line, prefix the path with: '../../'. I'm not sure if this is the 'correct' solution.

See also ros-perception/image_common/issues/4

allow for stereo calibration without touching intrinsics

It would be very useful if it would be possible to perform two monocular calibrations in order to get precise intrinsics for each camera and then perform stereo calibration (taking pictures once more) but reading already calibrated instrinsic parameters and only computing the rectification and projection matrices.

In order to get both cameras to see the calibration pattern, it is not always possible to put the pattern very close or even cover both images completely (due to baseline), therefore instrinsic parameters may not be obtained as precise as with the procedure proposed before.

Issues with cv_bridge when using cameracalibrator.py in Indigo

After updating to Ubuntu 14.04 and Indigo I'm not able to execute the camera_calibration.

With last version of opencv libraries (github repository master) python keeps looking for "cv.so". I have no issues with Hydro.

Also when using the repository installation of opencv (2.4.9) camera_calibration gives me this error:

Exception in thread Thread-5:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/opt/ros/indigo/lib/camera_calibration/cameracalibrator.py", line 68, in run
    self.function(m)
  File "/opt/ros/indigo/lib/camera_calibration/cameracalibrator.py", line 138, in handle_monocular
    drawable = self.c.handle_msg(msg)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 749, in handle_msg
    gray = self.mkgray(msg)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/camera_calibration/calibrator.py", line 262, in mkgray
    mono16 = self.br.imgmsg_to_cv(msg, "mono16")
AttributeError: CvBridge instance has no attribute 'imgmsg_to_cv'

I am trying to calibrate an Argos 3D Tof camera. Everything works in Hydro. Even when I try to execute:

rosrun camera_calibration cameracalibrator.py

I do not get any answer. It gets frozen.

Reported in ROS answers: http://answers.ros.org/question/170971/issues-with-cv_bridge-when-using-cameracalibratorpy-in-indigo/
Report to bug tracker suggested.

depth_image_proc: Possible missing build depend on libpcl-dev

This will likely not be limited to only depth_image_proc.

When building RPMs, mock employs a more robust dependency checking system than is currently used to build the ROS debs. It has discovered that it is possible to install pcl_ros without libpcl-dev (which isn't wrong). However, projects that utilize pcl_ros for building MUST also have the PCL header files provided by libpcl-dev.

The most efficient solution dependency-wise is to make packages with build dependencies on pcl_ros to also build depend on libpcl-dev.

At current, package.xml's don't seem to have the ability to declare additional downstream build dependencies (while catkin does in cmake).

This is the only package I've discovered so far, but I haven't been able to build quite a few other possible pcl deps, so I'll know more soon.

PCL maintainers: @wjwwood @jkammerl

incorrect framerate with video_recorder

Most of the cameras/camera drivers I have around (Asus Xtion, Kinect, webcams) tend to publish the camera_info each time the the image topic is published. This means that the callback on line 35 gets called at twice the framerate of the image topic we are trying to record. This results in videos that playback at 1/2 the real-world speed if the user inputs an ~fps param equal to the image topic publish frequency (which is the logical choice IMO).

I haven't used image_pipeline a ton, and I haven't used many camera drivers, so I don't know if publishing the camera_info every time is common. But for drivers that do this, here is what fixed the issue for me (lines 57-60):

    ROS_INFO_STREAM("Starting to record " << codec << " video at " << size << "@" << fps << "fps. Press Ctrl+C to stop recording." );

    }
    else if (outputVideo.isOpened() && info) return;

Point Cloud transformation error

Hello,

I am using stereo_image_proc to process data coming from a stereo system. When trying to visualize it in RVIZ I came across to the following issue: The point cloud (pointcloud2 and pointcloud topics) is not properly transformed. See the following images:

In gazebo:
pc_issue_gazebo

In RVIZ:
pc_issue_moveit

Any ideas?

P.S.: The cameras seem properly transformed. See images below:

Left:
left

Right:
right

cmake dependencies to opencv could be partial

I read some blogpost about overlinking and .pc files, and then wondered how ROS currently fares with overlinking. (E.g. see http://wiki.mandriva.com/en/Overlinking)
So I did a grep over .pc files in a groovy desktop full underlay, and the things that stood out where opencv dependencies.

E.g.:

$ find devel_isolated/ -name *.pc | xargs grep Libs
devel_isolated/image_geometry/lib/pkgconfig/image_geometry.pc:Libs: -L/home/kruset/groovy_underlay_full/devel_isolated/image_geometry/lib -limage_geometry -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_calib3d.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_contrib.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_core.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_features2d.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_flann.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_gpu.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_highgui.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_imgproc.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_legacy.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_ml.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_nonfree.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_objdetect.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_photo.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_stitching.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_superres.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_video.so -l:/home/kruset/groovy_underlay_full/devel_isolated/opencv2/lib/libopencv_videostab.so

Same for cv_bridge, compressed_image_transport, compressed_depth_image_transport, image_proc

I assume that linking here is overdone, and could / should be reduced by getting opencv into cmake with components, e.g.:
http://stackoverflow.com/questions/11196720/cmake-how-to-only-include-part-of-opencv

FIND_PACKAGE( OpenCV REQUIRED core imgproc)

I don't know much about opencv, cmake or linking, so I might be wrong here, but I still thought it might be worth raising a flag.

Compile failure on OSX

I had issues with stereo_image_proc and image_proc. Building ROS from source, I had to add find_package(Boost REQUIRED COMPONENT thread) to CMakeLists.txt and #include<boost/thread/lock_guard.hpp> to each file that used lock_guard.

Document the flags for cameracalibrator

From reading the source for cameracalibrator.py, it has a lot of flags that aren't documented on the wiki.

The popular/supported flags for cameracalibrator should be documented on the wiki. This probably includes the --pattern, --size and --square flags.

It may be sufficient to copy the output of cameracalibrator.py --help onto the wiki.

depth_image_proc: libpcl_surface.so, libopencv_contrib linking errors

Hi, I'm trying to debug this linking error. My first instinct upon seeing the thread-local storage error was to recompile pcl-1.7.1 to not use mpi. The error persisted. Should I try to regress to pcl-1.6? Thanks for your time.

Linking CXX shared library /home/wayne/work/ros/ros_hydro_ws/devel_isolated/depth_image_proc/lib/libdepth_image_proc.so
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/ld: _ZZN5Eigen8internal20manage_caching_sizesENS_6ActionEPlS2_E13m_l2CacheSize: TLS definition in /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libpcl_surface.so section .tbss mismatches non-TLS definition in /usr/lib64/libopencv_contrib.so.2.4.8 section .bss
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libpcl_surface.so: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [/home/wayne/work/ros/ros_hydro_ws/devel_isolated/depth_image_proc/lib/libdepth_image_proc.so] Error 1
make[1]: *** [CMakeFiles/depth_image_proc.dir/all] Error 2
make: *** [all] Error 2
<== Failed to process package 'depth_image_proc': 
  Command '/home/wayne/work/ros/ros_hydro_ws/install_isolated/env.sh make -j8 -l8' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/wayne/work/ros/ros_hydro_ws/build_isolated/depth_image_proc && /home/wayne/work/ros/ros_hydro_ws/install_isolated/env.sh make -j8 -l8

Command failed, exiting.

stereocalibration crashes

Hi community,
I'm trying to use the cameracalibrator.py for stereocalibration of two usb-webcams. They aren't synchronized so that I have to add an approximate time value to my command. If I dont add this value the calibration-window doesn't show up. But when I use this value I'm getting the following Error:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
rosrun camera_calibration cameracalibrator.py --pattern='acircles' --size 11x4 --square 0.035 right:=/stereo/right/image_raw left:=/stereo/left/image_raw left_camera:=/stereo/left right_camera:=/stereo/right --approximate='0.5'
Waiting for service /stereo/left/set_camera_info ...
OK
Waiting for service /stereo/right/set_camera_info ...
OK
[ERROR] [WallTime: 1381998472.508630] bad callback: <bound method Subscriber.callback of <message_filters.Subscriber instance at 0x918cbac>>
Traceback (most recent call last):
File "/opt/ros/hydro/lib/python2.7/dist-packages/rospy/topics.py", line 681, in _invoke_callback
cb(msg)
File "/opt/ros/hydro/lib/python2.7/dist-packages/message_filters/init.py", line 72, in callback
self.signalMessage(msg)
File "/opt/ros/hydro/lib/python2.7/dist-packages/message_filters/init.py", line 55, in signalMessage
cb(*(msg + args))
File "/home/faps/catkin_ws/src/image_pipeline/camera_calibration/src/camera_calibration/approxsync.py", line 70, in add
msgs = [q[t] for q,t in zip(self.queues, vv)]
KeyError: genpy.Time[1381998472471507850]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Does anyone know where this error comes from?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.