OpenCV.jl icon indicating copy to clipboard operation
OpenCV.jl copied to clipboard

Roadmap

Open kvmanohar22 opened this issue 8 years ago • 10 comments
trafficstars

As the application process for GSoC has begun, I was wondering what are the top priority modules that are supposed to be wrapped during the course of GSoC timeline. I am looking forward to expand functionalities of OpenCV.jl. Knowing which modules to wrap, I would write my proposal accordingly.

kvmanohar22 avatar Mar 21 '17 16:03 kvmanohar22

I will come up with suggestions tonight, but for now, we need to formalize the steps required to have the following immediate issues solved:

  • [ ] thorough implementation of cv::Mat_<T> templates and Julia wrappers
  • [ ] efficient bidirectional conversion between Julia and OpenCV images
  • [ ] properly functioning image processing and display methods

Assuming that these can be wrapped up relatively quickly, there are several specialized modules that you could work further on for your project.

maxruby avatar Mar 21 '17 17:03 maxruby

I think the immediate focus should be

  • improving image filtering and video processing OpenCV methods for use in Julia
  • smooth conversion between Julia arrays and C++ Mat

Support for display and graphics in Julia v0.6 (and possibly even 0.5) has a number of significant challenges right now due dependencies which are not currently working (Winston.jl, TK.jl, and possibly others). With limited time, it would not be wise to wait for those packages).

maxruby avatar Mar 22 '17 23:03 maxruby

Not to derail what sounds like excellent recommendations, but just FYI GtkReactive passes all of its tests on Julia 0.6. Though I would be the first to say that GLVisualize is the future of graphics on julia (hopefully GtkReactive can contribute to that, since GLVisualize uses Reactive).

timholy avatar Mar 23 '17 01:03 timholy

@timholy. Thanks for the pointers! I agree that it would be nice to work with OpenGL, but I wonder whether this will be outside the scope of a GSoC project? There seems to be already enough challenges to get OpenCV and Images (and associated packages) talking smoothly (deprecations, image format and conversion). That said, I am with you that we should at least look into GtkReactive and GLVisualize for inspiration on where to go with image visualization in Julia.

maxruby avatar Mar 23 '17 07:03 maxruby

That's why I said they were excellent recommendations :smile:. I just wanted to make sure you knew that, if you needed it, there were graphics solutions that work on 0.6.

timholy avatar Mar 23 '17 10:03 timholy

@timholy. Indeed, ideally we would use the visualization power of GLVisualize with OpenCV and come up with something unique. By the way, a bit offside, but do you really get GTkReactive to work with v0.6? If so, how? I tried to get it installed and got a number of errors. Is there anywhere detailed documentation on how to get GtkReactive installed?

The immediate goal is to be able to quickly visualize Julia images before and after manipulation in OpenCV. Is GtkReactive the best and only realistic option right now with v0.6?

maxruby avatar Mar 23 '17 11:03 maxruby

Not sure. Maybe https://github.com/JuliaGraphics/Gtk.jl/issues/289?

But clearly I spoke too soon; while it passes the "automated" tests, some of the mouse interaction triggers a bug: https://github.com/JuliaLang/julia/issues/21141. Nevertheless basic image display works fine (see examples/imageview.jl).

Is GtkReactive the best and only realistic option right now with v0.6?

Certainly not; there are so many plotting options I don't pretend to keep up with them all. Also, where possible I still avoid 0.6 right now for anything serious, since things are still somewhat fragile. Lots of options work on 0.5.

timholy avatar Mar 23 '17 11:03 timholy

@kvmanohar22 . I would suggest that you look into making it feasible to use GtkReactive for Visualization of images before and after processing with OpenCV.jl. I will try in parallel to install it on OSX and evaluate how to work with it as well.

maxruby avatar Mar 23 '17 14:03 maxruby

On it !

kvmanohar22 avatar Mar 23 '17 15:03 kvmanohar22

@kvmanohar22. Have you evaluated the feasibility of working with GtkReactive?

maxruby avatar Mar 29 '17 19:03 maxruby