Open vrabaud opened 8 years ago
I created small ROS packages for DIS Flow using OpenCV implementation and consider to create pull request to opencv_apps.
But FlowArray.msg is not suitable for dense flow as pointed in https://github.com/ros-perception/vision_opencv/issues/67#issuecomment-127205720 . Is it OK to add new msg for dense flow if I send pull request?
My current implementation is just wrapping sensor_msgs/Image like stereo_msgs/DisparityImage. The reason of this is that Image has enough information to handle data array, and can be accessed easily by cv_bridge.
Patches are always welcome, so feel free to create new PR.
I see.
Then I will create PR using existing message opencv_apps/Flow.msg
.
It is not convinience for dense flow but also can be used.
Later I try to implement other dense algorithms or change to new message if I have time.
Hi! First of all I'm quite new to ROS so I'm not sure whether this is a silly question. copied from https://github.com/ros-perception/vision_opencv/issues/67
What role do the
opencv_apps
play in this repository? Are those meant just as code examples and not meant to be used within 'proper' applications?In short: is it advisable to use
opencv_apps/Flow.msg
andfback_flow_nodelet
in my application or should I roll my own? The fact thatfback_flow_nodelet
unconditionally draws the flow visualization suggests that it's really meant more as an example application, rather than a general nodelet for optical flow.If
opencv_apps
are meant to be useful apart from serving as a code example I would suggest a few changes (and gladly provide pull requests) to the optical flow part.In particular I think that the definition of the flow messages should be different. In
Flow.msg
the flow vector is calledvelocity
, but whatfback_flow_nodelet
andlk_flow_nodelet
really compute are the motions between two frames in pixels irrespective of the time passed between the two frames. So either the nodelets need to scale the movement by the time between the frames, so that thevelocity
field inFlow.msg
get a proper unit (px/s e.g.), orvelocity
needs to be renamed todisplacement
and atime
field needs to be added toFlow.msg
.PS: great repo! :+1: :smile: