This release contains several new features and bug fixes. I tried my best to ensure backward compatibility, but unfortunately, a small change is required to make cvui 2.5.0
work with existing projects. I am honestly sorry for any inconveniences this might cause.
From now on, one (and only one) of your C++ files must include cvui.h
after a #define CVUI_IMPLEMENTATION
, e.g.
#define CVUI_IMPLEMENTATION
#include "cvui.h"
int main() {
}
All other files should include cvui as usual:
#include "cvui.h"
int main() {
}
This change was required to keep cvui as flexible, simple and "sane" as possible. The function cvui::init()
was also modified, but it should not affect existing projects unless they have very specific needs regarding the creation of OpenCV windows. In such case, please read the multiple OpenCV windows doc page.
New features for this release include support for multiple windows, a mouse API (designed with cvui simplicity in mind) and the addition of cvui::imshow()
(equivalent of calling cvui::update()
then cv::imshow()
, as explained here).
Finally, I would like to highlight the completely overhauled documentation and the addition of several new code examples. Documentation pages have been significantly improved with code samples, figures, and better explanations. A tool is as good as its docs, so I hope this will make cvui even better.
Below is a list of changes according to the CHANGELOG. Thank you to all contributors that have helped improve cvui!
Added
- Support for multiple windows (help from Justin Muncaster, 4xle and Luca Del Tongo).
- Mouse API (help from Pascal Thomet).
- Compilation flag
CVUI_IMPLEMENTATION
(read more). - New parameter
bool theCreateNamedWindow
ininit()
(read more). init(const cv::String[], size_t, int, bool)
(read more).watch(cv::String, bool)
(read more).cvui::imshow()
, equivalent of callingcvui::update()
thencv::imshow()
(read more).- More examples.
- Compilation flag
CVUI_DISABLE_COMPILATION_NOTICES
(read more).
Changed
- cvui can now be included in multiple files (help from Luca Del Tongo; read more).
- Requirement that one (and only one) of your C++ files must include
cvui.h
after a#define CVUI_IMPLEMENTATION
(read more). - Documentation was significantfly improved, e.g. code samples, figures, etc.
Fixed
sparkline()
crashes with empty vector (#23).