I'm looking for tools that will allow simple visualization and debugging of computer vision \ image processing programs in c++.
The need is mainly for debugging and research.
Specific features:
OpenCV has some capabilities, but they are pretty limited - especially mouse and keyboard interaction.
Short answer: I don't think there is.
If you're debugging and doing research, just use Matlab. If speed is an issue, use the Matlab profiler and mex the corresponding functions into C/C++ or even GPU code. I've been doing computer vision research for quite a few years and have written plenty of real-time applications this way.
OpenCV is decent and VLFeat (w/ both Matlab and C API's available) is great. However, ultimately, you're going to move faster in research with an interpreted language w/ a REPL like Matlab. The only other alternatives I'd seriously consider for computer vision prototyping are Python and Lush.
I agree with pxu that there probably isn't an image processing library that's going to do exactly what you want. Both OpenCV and VXL have a few basic and/or clunky GUI components, but won't be sufficient for your requirements.
If you want to stick with C++, then I'd recommend either Qt (distributed under LGPL - so free for commercial and non-commercial use) or Microsoft .NET. Both of these library frameworks have a good UI feature set for dealing with images (and video, to some extent), and rendering of basic shapes. Both are very well documented. My feeling is that even if you're new to Qt, it would only take a few days or so to knock up a simple application with the features you listed.
Qt might also be an interesting option if you're looking to prototype in Python. A combination of Python, PySide/PyQt, OpenCV, NumPy and SciPy should give a very decent prototyping environment. Enthought also list numerous other packages which could be useful. Furthermore, as some of these libraries are available in both languages, it'll ease the transition from prototype to optimised implementation in C++.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With