wg-perception / capture

An object capture toolbox.
7 stars 20 forks source link

upload not working after capture #35

Open daniel2018 opened 4 years ago

daniel2018 commented 4 years ago

Hi, I want to do capture -> upload -> mesh with my Intel realsense D415 camera. Setup: Ubuntu 16.04, OpenCV 3.3.1, ROS kinetic detection, orb_template, orb_track is working.

I adapted the capture code so that the capture process is working. Even when I get a segmentation dump at the very end, the rosbag is filled with all the needed topics. Moreover, I also saw the markers in the GUI were recognized properly when I turn the dot pattern.

So the next step for me is to upload this bag to the database, which I configured like mentioned in the documentation. It seems that the upload process loads something to the database(at least i can see a new object in the db), but I am not sure if this worked correctly, because I get the following output:

Inserting frame: 0 
libpng warning: Image width is zero in IHDR 
libpng warning: Image height is zero in IHDR 
libpng error: Invalid IHDR data 
OpenCV Error: Assertion failed (code) in imencode, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/imgcodecs/src/loadsave.cpp, line 899 
Traceback (most recent call last): 
  File "/opt/ros/kinetic/lib/object_recognition_capture/upload", line 145, in <module> 
    session = compute_for_bag_with_mask_pose(bag, obj, args) 
  File "/opt/ros/kinetic/lib/object_recognition_capture/upload", line 105, in compute_for_bag_with_mask_pose 
    run_plasm(args, plasm, locals=vars()) 
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/ecto/opts.py", line 85, in run_plasm 
    sched.execute(options.niter) 
ecto.CellException:            exception_type  CellException 
[cell_name] = db_inserter 
[cell_type] = object_recognition_core::prototypes::ObservationInserter 
[function_name] = process_with_only_these_inputs 
[type] = cv::Exception 
[what] = /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/imgcodecs/src/loadsave.cpp:899: error: (-215) code in function imencode 

I saw that there was a solution for this, when using a kinect: https://github.com/wg-perception/capture/pull/23 So I adapt my encodings accordingly to the ROS topics of my camera. Those encodings can now be found in my rosbag. But still the same error.

Is there any Idea why this error is thrown? Could it be the ROS version itself 16.04? Or could it also be my openCV version 3.3.1?

Attached you can find my rosbag with just 3 views, to keep the size small. And the modified capture code. 02042020.bag.tar.gz capture_realsense_code.tar.gz