1. Use built-in mad() instead of += and *.
2. For stump stages, if weight.z == 0, avoid unnecessary calculation
because some features only have 2 rectangles..
It could improve
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/*
about 10% mean values.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
The matrix templateZM needs to be initialized because otherwise
uninitialized values leak into the correlation in:
const double correlation = templateZM.dot(imageWarped)
In the worst case this will lead the correlation to be NaN ruining the
whole routine. The subtraction does not initialize templateZM due to the
mask.
Unfortunately, the uninitialized values (by altering the correlation)
have the side effect of dragging out the computation a little longer
giving a slightly better error bound. This means that fixing this bug
breaks perf_ecc where
SANITY_CHECK(warpMat, 1e-3);
is just a little too tight and happens to work due to the uninitialized
values. Since this is a performance not a accuracy test I think it is OK
to just relax the error bound a little bit (the tight error bound being
after all the result of a bug).
Previously the Python3 cv2 package ends up with no submodules (bgsegm, face,
etc) in it, which makes a lot of functionality unusable. By not writing over
our root reference we ensure the new submodules are added to the correct cv2
module.
FFmpeg now requires that frames allocated with avcodec_alloc_frame are
freed with avcodec_free_frame.
(cherry picked from commit 77578d415f)
Conflicts:
modules/highgui/src/cap_ffmpeg_impl.hpp
modules/videoio/src/cap_gstreamer.cpp:577:31: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
filename = "v4lsrc ! "COLOR_ELEM" ! appsink";
^
modules/videoio/src/cap_gstreamer.cpp:585:32: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
filename = "v4l2src ! "COLOR_ELEM" ! appsink";
(use "git reset HEAD <file>..." to unstage)
modified: modules/java/generator/gen_java.py
modified: modules/videoio/include/opencv2/videoio.hpp
modified: modules/videoio/include/opencv2/videoio/videoio_c.h
modified: modules/videoio/src/cap_dshow.cpp
modified: modules/videoio/src/cap_pvapi.cpp
Following changes have been made:
1. Some minor bugs have been removed.
2. In the PvAPI module the option CAP_PROP_MONOCROME has been removed because
this option does not make sense and causes an error if a color camera is used.
3. Instead the new option CAP_PROP_PVAPI_PIXELFORMAT has been added which allows
to activate the different pixel formats (color modes) of an AVT camera.
4. Since there were two identical defines
CAP_PROP_MONOCROME = 19
CAP_PROP_MONOCHROME = 19
which were also used in the other module DSHOW, the first one with an orthographic
error has been removed in favor of the second one.