Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jsk_perception] Add tile_images.py #1192

Merged
merged 1 commit into from
Oct 5, 2015

Conversation

wkentaro
Copy link
Member

@wkentaro wkentaro commented Oct 3, 2015

from: #1189 (comment)

$ roslaunch jsk_perception tile_images.launch

image

@wkentaro wkentaro force-pushed the tile-images branch 2 times, most recently from 4e7abef to be2e813 Compare October 3, 2015 17:22
@wkentaro
Copy link
Member Author

wkentaro commented Oct 3, 2015

CLI

$ rosrun jsk_perception tile_images.py _input_topics:='[img1/output, img2/output]'

@wkentaro
Copy link
Member Author

wkentaro commented Oct 4, 2015

[opencv_apps] Scanning dependencies of target opencv_apps_generate_messages
[opencv_apps] [ 93%] Built target opencv_apps_generate_messages
[opencv_apps] [ 93%] [ 94%] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/contour_moments_nodelet.cpp.o
[opencv_apps] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/face_detection_nodelet.cpp.o
[opencv_apps] [ 94%] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/goodfeature_track_nodelet.cpp.o
[jsk_pcl_ros] -- jsk_pcl_ros: 0 messages, 17 services
[opencv_apps] [ 95%] [ 95%] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/camshift_nodelet.cpp.o
[opencv_apps] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/simple_example_nodelet.cpp.o
[jsk_pcl_ros] flags:   -Wno-deprecated -fopenmp
[opencv_apps] [ 96%] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/simple_compressed_example_nodelet.cpp.o
[jsk_pcl_ros] -- Configuring done
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:79:22: error: 'CompressedImageConstPtr' in namespace 'sensor_msgs' does not name a type
[opencv_apps]    void imageCb(const sensor_msgs::CompressedImageConstPtr& msg)
[opencv_apps]                       ^
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:79:60: error: ISO C++ forbids declaration of 'msg' with no type [-fpermissive]
[opencv_apps]    void imageCb(const sensor_msgs::CompressedImageConstPtr& msg)
[opencv_apps]                                                             ^
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp: In constructor 'simple_compressed_example::ImageConverter::ImageConverter()':
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:69:32: error: 'CompressedImage' is not a member of 'sensor_msgs'
[opencv_apps]      image_pub_ = nh_.advertise<sensor_msgs::CompressedImage>("/image_converter/output_video/compressed", 1);
[opencv_apps]                                 ^
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:69:32: error: 'CompressedImage' is not a member of 'sensor_msgs'
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:69:107: error: no matching function for call to 'ros::NodeHandle::advertise(const char [41], int)'
[opencv_apps]      image_pub_ = nh_.advertise<sensor_msgs::CompressedImage>("/image_converter/output_video/compressed", 1);
[opencv_apps]                                                                                                            ^
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:69:107: note: candidates are:
[opencv_apps] In file included from /opt/ros/indigo/include/ros/ros.h:45:0,
[opencv_apps]                  from /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:40:
[opencv_apps] /opt/ros/indigo/include/ros/node_handle.h:236:15: note: template<class M> ros::Publisher ros::NodeHandle::advertise(const string&, uint32_t, bool)
[opencv_apps]      Publisher advertise(const std::string& topic, uint32_t queue_size, bool latch = false)
[opencv_apps]                ^
[opencv_apps] /opt/ros/indigo/include/ros/node_handle.h:236:15: note:   template argument deduction/substitution failed:
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:69:107: error: template argument 1 is invalid
[opencv_apps]      image_pub_ = nh_.advertise<sensor_msgs::CompressedImage>("/image_converter/output_video/compressed", 1);
[opencv_apps]                                                                                                            ^
[opencv_apps] In file included from /opt/ros/indigo/include/ros/ros.h:45:0,
[opencv_apps]                  from /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:40:
[opencv_apps] /opt/ros/indigo/include/ros/node_handle.h:302:13: note: template<class M> ros::Publisher ros::NodeHandle::advertise(const string&, uint32_t, const SubscriberStatusCallback&, const SubscriberStatusCallback&, const VoidConstPtr&, bool)
[opencv_apps]    Publisher advertise(const std::string& topic, uint32_t queue_size,
[opencv_apps]              ^
[opencv_apps] /opt/ros/indigo/include/ros/node_handle.h:302:13: note:   template argument deduction/substitution failed:
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:69:107: error: template argument 1 is invalid
[opencv_apps]      image_pub_ = nh_.advertise<sensor_msgs::CompressedImage>("/image_converter/output_video/compressed", 1);
[opencv_apps]                                                                                                            ^
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp: In member function 'void simple_compressed_example::ImageConverter::imageCb(const int&)':
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:84:75: error: no matching function for call to 'toCvCopy(const int&, const string&)'
[opencv_apps]        cv_ptr = cv_bridge::toCvCopy(msg, sensor_msgs::image_encodings::BGR8);
[opencv_apps]                                                                            ^
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:84:75: note: candidates are:
[opencv_apps] In file included from /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:44:0:
[opencv_apps] /opt/ros/indigo/include/cv_bridge/cv_bridge.h:126:12: note: cv_bridge::CvImagePtr cv_bridge::toCvCopy(const ImageConstPtr&, const string&)
[opencv_apps]  CvImagePtr toCvCopy(const sensor_msgs::ImageConstPtr& source,
[opencv_apps]             ^
[opencv_apps] /opt/ros/indigo/include/cv_bridge/cv_bridge.h:126:12: note:   no known conversion for argument 1 from 'const int' to 'const ImageConstPtr& {aka const boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > >&}'
[opencv_apps] /opt/ros/indigo/include/cv_bridge/cv_bridge.h:148:12: note: cv_bridge::CvImagePtr cv_bridge::toCvCopy(const Image&, const string&)
[opencv_apps]  CvImagePtr toCvCopy(const sensor_msgs::Image& source,
[opencv_apps]             ^
[opencv_apps] /opt/ros/indigo/include/cv_bridge/cv_bridge.h:148:12: note:   no known conversion for argument 1 from 'const int' to 'const Image& {aka const sensor_msgs::Image_<std::allocator<void> >&}'
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:101:32: error: 'class cv_bridge::CvImage' has no member named 'toCompressedImageMsg'
[opencv_apps]      image_pub_.publish(cv_ptr->toCompressedImageMsg());
[opencv_apps]                                 ^
[opencv_apps] In file included from /opt/ros/indigo/include/ros/serialization.h:37:0,
[opencv_apps]                  from /opt/ros/indigo/include/ros/publisher.h:34,
[opencv_apps]                  from /opt/ros/indigo/include/ros/node_handle.h:32,
[opencv_apps]                  from /opt/ros/indigo/include/ros/ros.h:45,
[opencv_apps]                  from /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:40:
[opencv_apps] /opt/ros/indigo/include/ros/message_traits.h: In instantiation of 'static const char* ros::message_traits::MD5Sum<M>::value() [with M = int]':
[opencv_apps] /opt/ros/indigo/include/ros/message_traits.h:228:103:   required from 'const char* ros::message_traits::md5sum() [with M = int]'
[opencv_apps] /opt/ros/indigo/include/ros/subscribe_options.h:89:50:   required from 'void ros::SubscribeOptions::initByFullCallbackType(const string&, uint32_t, const boost::function<void(P)>&, const boost::function<boost::shared_ptr<typename ros::ParameterAdapter<P>::Message>()>&) [with P = const int&; std::string = std::basic_string<char>; uint32_t = unsigned int; typename ros::ParameterAdapter<P>::Message = int]'
[opencv_apps] /opt/ros/indigo/include/ros/node_handle.h:393:5:   required from 'ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M), T*, const ros::TransportHints&) [with M = const int&; T = simple_compressed_example::ImageConverter; std::string = std::basic_string<char>; uint32_t = unsigned int]'
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:68:42:   required from here
[opencv_apps] /opt/ros/indigo/include/ros/message_traits.h:121:29: error: '__s_getMD5Sum' is not a member of 'int'
[opencv_apps]      return M::__s_getMD5Sum().c_str();
[opencv_apps]                              ^
[opencv_apps] /opt/ros/indigo/include/ros/message_traits.h: In instantiation of 'static const char* ros::message_traits::DataType<M>::value() [with M = int]':
[opencv_apps] /opt/ros/indigo/include/ros/message_traits.h:237:105:   required from 'const char* ros::message_traits::datatype() [with M = int]'
[opencv_apps] /opt/ros/indigo/include/ros/subscribe_options.h:90:54:   required from 'void ros::SubscribeOptions::initByFullCallbackType(const string&, uint32_t, const boost::function<void(P)>&, const boost::function<boost::shared_ptr<typename ros::ParameterAdapter<P>::Message>()>&) [with P = const int&; std::string = std::basic_string<char>; uint32_t = unsigned int; typename ros::ParameterAdapter<P>::Message = int]'
[opencv_apps] /opt/ros/indigo/include/ros/node_handle.h:393:5:   required from 'ros::Subscriber ros::NodeHandle::subscribe(const string&, uint32_t, void (T::*)(M), T*, const ros::TransportHints&) [with M = const int&; T = simple_compressed_example::ImageConverter; std::string = std::basic_string<char>; uint32_t = unsigned int]'
[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:68:42:   required from here
[opencv_apps] /opt/ros/indigo/include/ros/message_traits.h:138:31: error: '__s_getDataType' is not a member of 'int'
[opencv_apps]      return M::__s_getDataType().c_str();
[opencv_apps]                                ^
[opencv_apps] make[2]: *** [CMakeFiles/opencv_apps.dir/src/nodelet/simple_compressed_example_nodelet.cpp.o] Error 1
[opencv_apps] make[2]: *** Waiting for unfinished jobs....
[opencv_apps] [ 96%] Building CXX object CMakeFiles/opencv_apps.dir/src/nodelet/fback_flow_nodelet.cpp.o
[opencv_apps] make[1]: *** [CMakeFiles/opencv_apps.dir/all] Error 2
[opencv_apps] <== '/workspace/ros/ws_jsk_recognition/build/opencv_apps/build_env.sh /usr/bin/make --jobserver-fds=3,4 -j' failed with return code '2'
Failed   <== opencv_apps             [ 1 minute and 44.7 seconds ]

@wkentaro
Copy link
Member Author

wkentaro commented Oct 4, 2015

about travis test::

  1. restarted
  2. fixed
  3. no idea why I had error at first time

@k-okada
Copy link
Member

k-okada commented Oct 5, 2015

[opencv_apps] /workspace/ros/ws_jsk_recognition/src/vision_opencv/opencv_apps/src/nodelet/simple_compressed_example_nodelet.cpp:79:22: error: 'CompressedImageConstPtr' in namespace 'sensor_msgs' does not name a type

something wrong on opencv_apps

@wkentaro
Copy link
Member Author

wkentaro commented Oct 5, 2015

yeah, but why the test passes at second time?

@garaemon
Copy link
Member

garaemon commented Oct 5, 2015

Is dependency not correct?

@garaemon
Copy link
Member

garaemon commented Oct 5, 2015

@wkentaro
Copy link
Member Author

wkentaro commented Oct 5, 2015

opencv_apps depends on image_transport.
https://github.com/ros-perception/vision_opencv/blob/indigo/opencv_apps/package.xml#L16

and imag_transport depends on sensor_msgs.

% rospack depends image_transport | grep sensor_msgs
sensor_msgs

@garaemon
Copy link
Member

garaemon commented Oct 5, 2015

needs to depend on sensor_msgs_gencpp?

garaemon added a commit that referenced this pull request Oct 5, 2015
[jsk_perception] Add tile_images.py
@garaemon garaemon merged commit 44fb3cf into jsk-ros-pkg:master Oct 5, 2015
@wkentaro wkentaro deleted the tile-images branch October 5, 2015 10:08
@k-okada
Copy link
Member

k-okada commented Oct 5, 2015

yeah, but why the test passes at second time?

You mean it failed in the first time, but after restarting travis, then it passed.
In that case, it is most likely that travis failed to install ros-indigo-sensor-msgs due to sync of the ros repository.

they use rosdep install -r at https://github.com/jsk-ros-pkg/jsk_travis/blob/master/rosdep-install.sh#L6

  -r                    Continue installing despite errors.

@wkentaro
Copy link
Member Author

wkentaro commented Oct 5, 2015

What can we do to avoid this kind of test failure? Or get to know quickly why test fails?

@garaemon
Copy link
Member

garaemon commented Oct 5, 2015

I think apt-get succeeded because catkin should raise error if sensor_msgs package is not found.

@k-okada
Copy link
Member

k-okada commented Oct 5, 2015

yeah, you're right. so that's might be different reason.

◉ Kei Okada

On Mon, Oct 5, 2015 at 9:50 PM, Ryohei Ueda notifications@github.com
wrote:

I think apt-get succeeded because catkin should raise error if sensor_msgs
package is not found.


Reply to this email directly or view it on GitHub
#1192 (comment)
.

@garaemon
Copy link
Member

garaemon commented Oct 5, 2015

it looks sensor_msgs/CompressedImage.h header exists but sensor_msgs::CompressedImageConstPtr type does not exist.

If we use catkin_make, this kind of asynchronous error may occur but now we use catkin_tools.
I believe catkin_tools always compiles packages in isolated manner.

@k-okada
Copy link
Member

k-okada commented Oct 5, 2015

I see, we need to latest cv_bridge to compile src code of opencv_apps,
ros-perception/vision_opencv@9a196a0

◉ Kei Okada

On Mon, Oct 5, 2015 at 10:37 PM, Ryohei Ueda notifications@github.com
wrote:

hmm, no idea

http://jenkins.jsk.imi.i.u-tokyo.ac.jp:8080/job/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-ros-indigo-opencv3-true/77/consoleFull


Reply to this email directly or view it on GitHub
#1192 (comment)
.

@k-okada
Copy link
Member

k-okada commented Oct 5, 2015

add allow_failures until they release new version?

◉ Kei Okada

On Mon, Oct 5, 2015 at 11:21 PM, Kei Okada k-okada@jsk.t.u-tokyo.ac.jp
wrote:

I see, we need to latest cv_bridge to compile src code of opencv_apps,

ros-perception/vision_opencv@9a196a0

◉ Kei Okada

On Mon, Oct 5, 2015 at 10:37 PM, Ryohei Ueda notifications@github.com
wrote:

hmm, no idea

http://jenkins.jsk.imi.i.u-tokyo.ac.jp:8080/job/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-ros-indigo-opencv3-true/77/consoleFull


Reply to this email directly or view it on GitHub
#1192 (comment)
.

@garaemon
Copy link
Member

garaemon commented Oct 5, 2015

We clone the latest visuon_opencv on jenkins, don't we?

2015年10月5日月曜日、Kei Okadanotifications@github.comさんは書きました:

add allow_failures until they release new version?

◉ Kei Okada

On Mon, Oct 5, 2015 at 11:21 PM, Kei Okada <k-okada@jsk.t.u-tokyo.ac.jp
javascript:_e(%7B%7D,'cvml','k-okada@jsk.t.u-tokyo.ac.jp');>
wrote:

I see, we need to latest cv_bridge to compile src code of opencv_apps,

ros-perception/vision_opencv@9a196a0

◉ Kei Okada

On Mon, Oct 5, 2015 at 10:37 PM, Ryohei Ueda <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');>
wrote:

hmm, no idea

http://jenkins.jsk.imi.i.u-tokyo.ac.jp:8080/job/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-ros-indigo-opencv3-true/77/consoleFull


Reply to this email directly or view it on GitHub
<
#1192 (comment)

.


Reply to this email directly or view it on GitHub
#1192 (comment)
.

✉︎ from iPhone

@k-okada
Copy link
Member

k-okada commented Oct 5, 2015

Yes but we did not compile cv_bridge, may be to reduce compile time

◉ Kei Okada

2015/10/05 23:26、Ryohei Ueda notifications@github.com のメッセージ:

We clone the latest visuon_opencv on jenkins, don't we?

2015年10月5日月曜日、Kei Okadanotifications@github.comさんは書きました:

add allow_failures until they release new version?

◉ Kei Okada

On Mon, Oct 5, 2015 at 11:21 PM, Kei Okada <k-okada@jsk.t.u-tokyo.ac.jp
javascript:_e(%7B%7D,'cvml','k-okada@jsk.t.u-tokyo.ac.jp');>
wrote:

I see, we need to latest cv_bridge to compile src code of opencv_apps,

ros-perception/vision_opencv@9a196a0

◉ Kei Okada

On Mon, Oct 5, 2015 at 10:37 PM, Ryohei Ueda <notifications@github.com
javascript:_e(%7B%7D,'cvml','notifications@github.com');>
wrote:

hmm, no idea

http://jenkins.jsk.imi.i.u-tokyo.ac.jp:8080/job/trusty-travis-jsk-ros-pkg-jsk_recognition-indigo-deb-true-ros-indigo-opencv3-true/77/consoleFull


Reply to this email directly or view it on GitHub
<
#1192 (comment)

.


Reply to this email directly or view it on GitHub
#1192 (comment)
.

✉︎ from iPhone

Reply to this email directly or view it on GitHub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants