ChangeLog: cosmetic changes

Maksim Shabunin 2017-08-04 13:57:10 +03:00
parent 2bfb2666e7
commit cc8b2d64b1

@ -1130,8 +1130,6 @@ version:3.0
These are changes since 3.0 rc1. These are changes since 3.0 rc1.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
![](images/bug.png) ![](images/bug.png)
- Over 200 bugs reported at - Over 200 bugs reported at
@ -1140,16 +1138,12 @@ These are changes since 3.0 rc1.
python wrappers, core, imgproc, photo, features2d, objdetect, python wrappers, core, imgproc, photo, features2d, objdetect,
contrib modules, as well as some performance improvements etc. contrib modules, as well as some performance improvements etc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
![](images/threads.jpg) ![](images/threads.jpg)
- Added pthreads-based backend for cv::parallel_for\_. It means that - Added pthreads-based backend for cv::parallel_for\_. It means that
all the parallel processing should be available out-of-the-box on all the parallel processing should be available out-of-the-box on
any POSIX-compatible OS, including QNX and such. You are welcome to try it out. any POSIX-compatible OS, including QNX and such. You are welcome to try it out.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
![](images/android_ocv_small.png) ![](images/android_ocv_small.png)
- OpenCV Manager on Android has been completely rewritten in Java and - OpenCV Manager on Android has been completely rewritten in Java and
@ -1158,8 +1152,6 @@ These are changes since 3.0 rc1.
- The other, a bit sad but inevitable news we had to drop support - The other, a bit sad but inevitable news we had to drop support
for nativecamera on Android. It used some undocumented API and never worked stable. for nativecamera on Android. It used some undocumented API and never worked stable.
![](images/daisy.jpg) ![](images/daisy.jpg)
- Many excellent contributions in opencv_contrib/xfeatures2d: - Many excellent contributions in opencv_contrib/xfeatures2d:
@ -1170,8 +1162,6 @@ These are changes since 3.0 rc1.
OpenCV binary descriptors (ORB, BRIEF, AKAZE etc.) OpenCV binary descriptors (ORB, BRIEF, AKAZE etc.)
and is comparable with heavier and slower SURF. and is comparable with heavier and slower SURF.
![](images/github2.png) ![](images/github2.png)
- Over 80 pull requests have been merged in since 3.0 rc. Big thanks - Over 80 pull requests have been merged in since 3.0 rc. Big thanks
@ -1188,133 +1178,69 @@ These are changes since 3.0 rc1.
$ git shortlog —no-merges -ns 3.0.0-rc1..origin/master $ git shortlog —no-merges -ns 3.0.0-rc1..origin/master
60 Vadim Pisarevsky 60 Vadim Pisarevsky
31 laurentBerger 31 laurentBerger
17 Maksim Shabunin 17 Maksim Shabunin
10 cbalint13 10 cbalint13
7 Maxim Kostin 7 Maxim Kostin
6 Alexander Smorkalov 6 Alexander Smorkalov
6 Ilya Lavrenov 6 Ilya Lavrenov
6 StevenPuttemans 6 StevenPuttemans
6 Vladimir Dudnik 6 Vladimir Dudnik
5 Andrey Pavlenko 5 Andrey Pavlenko
5 GilLevi 5 GilLevi
3 Dikay900 3 Dikay900
3 Philipp Hasper 3 Philipp Hasper
3 Ruslan Baratov 3 Ruslan Baratov
3 rajithr 3 rajithr
3 sgjava 3 sgjava
2 Andreas Stührk 2 Andreas Stührk
2 Christian Richardt 2 Christian Richardt
2 Deanna Hood 2 Deanna Hood
2 Joe Minichino 2 Joe Minichino
2 Luis Díaz Más 2 Luis Díaz Más
2 Mansour Moufid 2 Mansour Moufid
2 Marek Nogacki 2 Marek Nogacki
2 Martin Ueding 2 Martin Ueding
2 Vladislav Vinogradov 2 Vladislav Vinogradov
2 Zhigang Gong 2 Zhigang Gong
2 kalistratovag 2 kalistratovag
1 AfterEight 1 AfterEight
1 Aleksandr Petrikov 1 Aleksandr Petrikov
1 Alexander Nitsch 1 Alexander Nitsch
1 Andrew Senin 1 Andrew Senin
1 Ashod Nakashian 1 Ashod Nakashian
1 Belev 1 Belev
1 Boris Daskalov 1 Boris Daskalov
1 Camille 1 Camille
1 Craig Reynolds 1 Craig Reynolds
1 David Hirvonen 1 David Hirvonen
1 Ehren Metcalfe 1 Ehren Metcalfe
1 Evgeny Agafonchikov 1 Evgeny Agafonchikov
1 Jüri Aedla 1 Jüri Aedla
1 Leonid Beynenson 1 Leonid Beynenson
1 Martijn Liem 1 Martijn Liem
1 Marvin Smith 1 Marvin Smith
1 Michaël Sdika 1 Michaël Sdika
1 Mike Maraya 1 Mike Maraya
1 Milania1 1 Milania1
1 Niklas Frisk 1 Niklas Frisk
1 Owen Healy 1 Owen Healy
1 Patrik Huber 1 Patrik Huber
1 Piotr Dobrowolski 1 Piotr Dobrowolski
1 Roman Donchenko 1 Roman Donchenko
1 S. Garrido 1 S. Garrido
1 Samed Ozdemir 1 Samed Ozdemir
1 Samuel Martin 1 Samuel Martin
1 Samyak Datta 1 Samyak Datta
1 Thomas Gabrowski 1 Thomas Gabrowski
1 Vicente Olivert Riera 1 Vicente Olivert Riera
1 Vincent Rabaud 1 Vincent Rabaud
1 Vladimir Kolesnikov 1 Vladimir Kolesnikov
1 aletheios 1 aletheios
1 berak 1 berak
1 jormansa 1 jormansa
1 lujia 1 lujia
1 msandler 1 msandler
1 yanlend 1 yanlend
1 zenev 1 zenev
#### opencv_contrib #### opencv_contrib
@ -1336,8 +1262,6 @@ version:3.0 rc
These are changes since 3.0 beta. These are changes since 3.0 beta.
![](images/compatibility.jpg) ![](images/compatibility.jpg)
- Improved compatibility with OpenCV 2.4: - Improved compatibility with OpenCV 2.4:
@ -1350,8 +1274,6 @@ These are changes since 3.0 beta.
- the 2.4=>3.0 transition guide has been sketched: - the 2.4=>3.0 transition guide has been sketched:
http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html
![](images/android_ocv_small.png) ![](images/android_ocv_small.png)
- We did not put OpenCV 3 to Google Play yet, but we prepared - We did not put OpenCV 3 to Google Play yet, but we prepared
@ -1359,8 +1281,6 @@ These are changes since 3.0 beta.
and tried on your device. It can co-exist with OpenCV 2.4 Manager on and tried on your device. It can co-exist with OpenCV 2.4 Manager on
the same device. the same device.
![](images/winrt_opencv.jpg) ![](images/winrt_opencv.jpg)
- There are multiple improvements and bug-fixes for WinRT port (as - There are multiple improvements and bug-fixes for WinRT port (as
@ -1371,8 +1291,6 @@ These are changes since 3.0 beta.
- Also, the WMF video capturing backend - Also, the WMF video capturing backend
has been greatly improved. has been greatly improved.
![](images/mjpeg.jpg) ![](images/mjpeg.jpg)
- Standalone motion jpeg codec has been added to opencv_videoio. It - Standalone motion jpeg codec has been added to opencv_videoio. It
@ -1384,8 +1302,6 @@ These are changes since 3.0 beta.
each frame is encoded using baseline jpeg) and few random motion each frame is encoded using baseline jpeg) and few random motion
jpeg clips from net, but we have not tested it thoroughly. jpeg clips from net, but we have not tested it thoroughly.
![](images/hal.jpg) ![](images/hal.jpg)
- Preliminary version of OpenCV HAL, - Preliminary version of OpenCV HAL,
@ -1435,7 +1351,6 @@ These are changes since 3.0 beta.
#### opencv #### opencv
$ git shortlog —no-merges -ns 3.0.0-beta..origin/master $ git shortlog —no-merges -ns 3.0.0-beta..origin/master
95 Vladislav Vinogradov 95 Vladislav Vinogradov
88 Maksim Shabunin 88 Maksim Shabunin
@ -1596,8 +1511,6 @@ These are changes since 3.0 alpha.
Thanks Alexander Alekhin, Alexander Karsakov, Elena Gvozdeva, Thanks Alexander Alekhin, Alexander Karsakov, Elena Gvozdeva,
Vladimir Bystritsky, Sergey Sivolgin and other guys who did that! Vladimir Bystritsky, Sergey Sivolgin and other guys who did that!
![](images/neon.png) ![](images/neon.png)
- About 40 commonly used image processing functions have been - About 40 commonly used image processing functions have been
@ -1605,16 +1518,12 @@ These are changes since 3.0 alpha.
so OpenCV 3.0 beta should run noticeably faster on modern ARM chips. Big thanks to Ilya Lavrenov for the so OpenCV 3.0 beta should run noticeably faster on modern ARM chips. Big thanks to Ilya Lavrenov for the
amazing job! amazing job!
![](images/java_logo.svg.png) ![](images/java_logo.svg.png)
- Java bindings have been substantially improved. We now have bindings - Java bindings have been substantially improved. We now have bindings
for the updated features2d, background subtractor classes, a part of for the updated features2d, background subtractor classes, a part of
opencv_contrib etc. Thanks to Maksim Shabunin for the improvements! opencv_contrib etc. Thanks to Maksim Shabunin for the improvements!
![](images/Intel_IPP_logo.png) ![](images/Intel_IPP_logo.png)
- On x86 and x64 platforms OpenCV binaries include and use a subset of - On x86 and x64 platforms OpenCV binaries include and use a subset of
@ -1622,8 +1531,6 @@ These are changes since 3.0 alpha.
includes a subset of **Intel® IPP 8.2.1** includes a subset of **Intel® IPP 8.2.1**
with additional optimization for AVX2. with additional optimization for AVX2.
![](images/github2.png) ![](images/github2.png)
- Over 200 pull requests have been merged in since 3.0 alpha. Big - Over 200 pull requests have been merged in since 3.0 alpha. Big
@ -1761,8 +1668,6 @@ with detailed review of [OpenCV_3.0](opencv3)
Intel chips (including Iris and Iris Pro) and AMD chips (such as Kaveri). More detailed Intel chips (including Iris and Iris Pro) and AMD chips (such as Kaveri). More detailed
results are to be provided later. results are to be provided later.
![](images/Intel_IPP_logo.png) ![](images/Intel_IPP_logo.png)
- On x86 and x64 platforms OpenCV binaries include and use a subset of - On x86 and x64 platforms OpenCV binaries include and use a subset of
@ -1770,8 +1675,6 @@ with detailed review of [OpenCV_3.0](opencv3)
granted OpenCV Foundation and all our users the right to use those granted OpenCV Foundation and all our users the right to use those
functions free of charge for both non-commercial and commercial use. functions free of charge for both non-commercial and commercial use.
![](images/contrib.jpg) ![](images/contrib.jpg)
- We now have a separate repository for community-contributed - We now have a separate repository for community-contributed
@ -1784,25 +1687,16 @@ with detailed review of [OpenCV_3.0](opencv3)
- Grab a copy of contribution repository - Grab a copy of contribution repository
http://github.com/opencv/opencv_contrib along with a copy of OpenCV http://github.com/opencv/opencv_contrib along with a copy of OpenCV
3.0 alpha or a fresh master snapshot. 3.0 alpha or a fresh master snapshot.
- Pass - Pass `OPENCV_EXTRA_MODULES_PATH=<path_to_contrib_directory>/modules` to CMake.
OPENCV_EXTRA_MODULES_PATH=<path_to_contrib_directory>/modules
to CMake.
- Documentation for the contributed modules is integrated into OpenCV - Documentation for the contributed modules is integrated into OpenCV
doc tree: http://docs.opencv.org/master doc tree: http://docs.opencv.org/master
![](images/buildbot.png) ![](images/buildbot.png)
- We completely revised our QA infrastructure (big thanks to Alexander - We completely revised our QA infrastructure (big thanks to Alexander
Alekhin), which now covers not only the main repository, but also Alekhin), which now covers not only the main repository, but also
the contrib repository as well: http://pullrequest.opencv.org. the contrib repository as well: http://pullrequest.opencv.org.
![](images/gsoc2013.jpg) ![](images/gsoc2014.jpg) ![](images/gsoc2013.jpg) ![](images/gsoc2014.jpg)
- OpenCV 3.0 and its contribution repository feature a lot of new - OpenCV 3.0 and its contribution repository feature a lot of new
@ -1839,8 +1733,6 @@ with detailed review of [OpenCV_3.0](opencv3)
- Line descriptors and matchers by Biagio Montesano and Manuele - Line descriptors and matchers by Biagio Montesano and Manuele
Tamburrano Tamburrano
![](images/thank_you.jpg) ![](images/thank_you.jpg)
- There are many other contributions, besides GSoC programs. Here is - There are many other contributions, besides GSoC programs. Here is
@ -1868,7 +1760,7 @@ with detailed review of [OpenCV_3.0](opencv3)
- Five-point pose estimation algorithm by Bo Li - Five-point pose estimation algorithm by Bo Li
Also, big thanks to all the Itseez guys who reviewed patches, watched Also, big thanks to all the Itseez guys who reviewed patches, watched
bug reports and helped OpenCV in many other ways:\ bug reports and helped OpenCV in many other ways:
Alexander Shishkov (who also maintains opencv.org site), Andrey Alexander Shishkov (who also maintains opencv.org site), Andrey
Pavlenko, Alexander Alekhin, Alexander Smorkalov, Roman Donchenko, Pavlenko, Alexander Alekhin, Alexander Smorkalov, Roman Donchenko,
Kirill Kornyakov, Andrey Kamaev, Sergey Sivolgin, Vladimir Bystritsky, Kirill Kornyakov, Andrey Kamaev, Sergey Sivolgin, Vladimir Bystritsky,
@ -1882,7 +1774,6 @@ Bradski, Vincent Rabaud, Harris Gasparakis, Stefano Fabri and many
others. others.
![](images/attention.png) ![](images/attention.png)
- Although OpenCV 3 can be viewed as refined OpenCV 2 and is similar - Although OpenCV 3 can be viewed as refined OpenCV 2 and is similar
@ -1898,13 +1789,17 @@ others.
bindings (opencv_contrib/matlab); motion templates & simple bindings (opencv_contrib/matlab); motion templates & simple
flow (opencv_contrib/optflow). flow (opencv_contrib/optflow).
- In OpenCV 3 we write - In OpenCV 3 we write
-
```.cpp ```.cpp
#include “opencv2/core.hpp” #include “opencv2/core.hpp”
``` ```
instead of instead of
```.cpp ```.cpp
#include “opencv2/core/core.hpp” #include “opencv2/core/core.hpp”
``` ```
The old method should also work. The old method should also work.
- ML module has been completely revised (and at the moment the - ML module has been completely revised (and at the moment the
functionality is not 100% match for OpenCV 2.4.x), you will need functionality is not 100% match for OpenCV 2.4.x), you will need
@ -2232,20 +2127,19 @@ version:2.4.6
`opencv/platforms` directory `opencv/platforms` directory
- fixed bug with incorrect saved video from camera through - fixed bug with incorrect saved video from camera through
CvVideoCamera CvVideoCamera
- added `` `rotateVideo` `` flag to the `CvVideoCamera` class to - added `rotateVideo` flag to the `CvVideoCamera` class to
control camera preview rotation on device rotation control camera preview rotation on device rotation
- added functions to convert between `UIImage` and `cv::Mat` (just - added functions to convert between `UIImage` and `cv::Mat` (just
include `opencv2/highgui/ios.h`) include `opencv2/highgui/ios.h`)
![](images/bug.png) ![](images/bug.png)
- [numerous - [numerous bug-fixes](http://code.opencv.org/projects/opencv/issues?query_id=52)
bug-fixes](http://code.opencv.org/projects/opencv/issues?query_id=52)
across all the library across all the library
![](images/android_ocv_small.png) ![](images/android_ocv_small.png)
- see also \[\[Android_Release_Notes\]\] - see also [Android_Release_Notes](Android_Release_Notes)
### Contributors ### Contributors
@ -2288,7 +2182,7 @@ version:2.4.5
![](images/winrt_opencv.jpg) ![](images/winrt_opencv.jpg)
- Experimental WinRT support (build for \[\[WindowsRT\]\] guide) - Experimental WinRT support (build for [WindowsRT](WindowsRT) guide)
![](images/superres.jpg) ![](images/superres.jpg)
@ -2340,8 +2234,7 @@ version:2.4.4
- This is the biggest news in 2.4.4 weve got full-featured OpenCV - This is the biggest news in 2.4.4 weve got full-featured OpenCV
Java bindings on a desktop, not only Android! In fact you can use Java bindings on a desktop, not only Android! In fact you can use
any JVM language, including functional any JVM language, including functional
Java or handy Groovy. Big thanks to [Eric Java or handy Groovy. Big thanks to [Eric Christiansen](https://plus.google.com/u/0/114834902961564956461) for
Christiansen](https://plus.google.com/u/0/114834902961564956461) for
the contribution! Check the the contribution! Check the
[tutorial](http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html) [tutorial](http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html)
for details and code samples. for details and code samples.
@ -2349,7 +2242,7 @@ version:2.4.4
![](images/android_ocv_small.png) ![](images/android_ocv_small.png)
- Android application framework, samples, tutorials, OpenCV Manager - Android application framework, samples, tutorials, OpenCV Manager
are updated, see \[\[Android_Release_Notes\]\] for details. are updated, see [Android_Release_Notes](Android_Release_Notes) for details.
![](images/CUDA.jpg) ![](images/CUDA.jpg)
@ -2686,13 +2579,9 @@ before as well as after 2.4 release.
now the primary site for OpenCV development and http://opencv.org now the primary site for OpenCV development and http://opencv.org
will be the official OpenCV user site. will be the official OpenCV user site.
<!-- -->
- Some of the old functionality from the modules `imgproc`, `video`, - Some of the old functionality from the modules `imgproc`, `video`,
`calib3d`, `features2d`, `objdetect` has been moved to legacy. `calib3d`, `features2d`, `objdetect` has been moved to legacy.
<!-- -->
- CMake scripts have been substantially modified. Now its very easy - CMake scripts have been substantially modified. Now its very easy
to add new modules just put the directory with include, src, doc to add new modules just put the directory with include, src, doc
and test sub-directories to the modules directory, create a very and test sub-directories to the modules directory, create a very
@ -2713,14 +2602,10 @@ before as well as after 2.4 release.
- one can save algorithm parameters to XML/YAML file and - one can save algorithm parameters to XML/YAML file and
then load them. then load them.
<!-- -->
- A new ffmpeg wrapper has been created that features multi-threaded - A new ffmpeg wrapper has been created that features multi-threaded
decoding, more robust video positioning etc. Its used with ffmpeg decoding, more robust video positioning etc. Its used with ffmpeg
starting with 0.7.x versions. starting with 0.7.x versions.
<!-- -->
- `features2d` API has been cleaned up. - `features2d` API has been cleaned up.
There are no more numerous classes with duplicated functionality. There are no more numerous classes with duplicated functionality.
The base classes `FeatureDetector` and `DescriptorExtractor` are now The base classes `FeatureDetector` and `DescriptorExtractor` are now
@ -2728,65 +2613,45 @@ before as well as after 2.4 release.
using which you can detect keypoints and compute the descriptors in using which you can detect keypoints and compute the descriptors in
a single call. This is also more efficient. a single call. This is also more efficient.
<!-- -->
- SIFT and SURF - SIFT and SURF
have been moved to a separate module named `nonfree` to indicate have been moved to a separate module named `nonfree` to indicate
possible legal issues of using those algorithms in possible legal issues of using those algorithms in
user applications. Also, SIFT performance user applications. Also, SIFT performance
has been substantially improved (by factor of 3-4x). has been substantially improved (by factor of 3-4x).
<!-- -->
- The current state-of-art textureless detection algorithm, Line-Mod - The current state-of-art textureless detection algorithm, Line-Mod
by S. Hinterstoisser, has been contributed by Patrick Mihelich. See by S. Hinterstoisser, has been contributed by Patrick Mihelich. See
`objdetect/objdetect.hpp`, class `Detector`. `objdetect/objdetect.hpp`, class `Detector`.
<!-- -->
- 3 face recognition algorithms have been contributed by - 3 face recognition algorithms have been contributed by
Philipp Wagner. Please, check `opencv/contrib/contrib.hpp`, Philipp Wagner. Please, check `opencv/contrib/contrib.hpp`,
`FaceRecognizer` class, and `opencv/samples/cpp/facerec_demo.cpp`. `FaceRecognizer` class, and `opencv/samples/cpp/facerec_demo.cpp`.
<!-- -->
- 2 algorithms for solving PnP problem have been added. Please, check - 2 algorithms for solving PnP problem have been added. Please, check
`flags` parameter in `solvePnP` and `solvePnPRansac` functions. `flags` parameter in `solvePnP` and `solvePnPRansac` functions.
<!-- -->
- Enhanced `LogPolar` implementation (that uses Blind-Spot model) has - Enhanced `LogPolar` implementation (that uses Blind-Spot model) has
been contributed by Fabio Solari and Manuela Chessa, see been contributed by Fabio Solari and Manuela Chessa, see
`opencv/contrib/contrib.hpp`, `LogPolar_*` classes and `opencv/contrib/contrib.hpp`, `LogPolar_*` classes and
`opencv/samples/cpp/logpolar_bsm.cpp` sample. `opencv/samples/cpp/logpolar_bsm.cpp` sample.
<!-- -->
- A stub module `photo` has been created to support a quickly growing - A stub module `photo` has been created to support a quickly growing
“computational photography” area. Currently, it only contains “computational photography” area. Currently, it only contains
`inpainting` algorithm, moved from `imgproc`, but its planned to `inpainting` algorithm, moved from `imgproc`, but its planned to
add much more functionality. add much more functionality.
<!-- -->
- Another module `videostab` (beta version) has been added that solves - Another module `videostab` (beta version) has been added that solves
a specific yet very important task of video stabilization. The a specific yet very important task of video stabilization. The
module is under active development. Please, check module is under active development. Please, check
`opencv/samples/cpp/videostab.cpp` sample. `opencv/samples/cpp/videostab.cpp` sample.
<!-- -->
- `findContours` can now find contours on a 32-bit integer image of - `findContours` can now find contours on a 32-bit integer image of
labels (not only on a black-and-white 8-bit image). This is a step labels (not only on a black-and-white 8-bit image). This is a step
towards more convenient connected component analysis. towards more convenient connected component analysis.
<!-- -->
- `Canny` edge detector can now be run on color images, which results - `Canny` edge detector can now be run on color images, which results
in better edge maps in better edge maps
<!-- -->
- Python bindings can now be used within python threads, so one can - Python bindings can now be used within python threads, so one can
write multi-threaded computer vision applications in Python. write multi-threaded computer vision applications in Python.
@ -2797,15 +2662,11 @@ before as well as after 2.4 release.
- PyrLK both Dense and Sparse variations - PyrLK both Dense and Sparse variations
- Farneback - Farneback
<!-- -->
- New feature detectors and descriptors: - New feature detectors and descriptors:
- `GoodFeaturesToTrack` - `GoodFeaturesToTrack`
- FAST/ORB - FAST/ORB
which is patent free replacement of SURF. which is patent free replacement of SURF.
<!-- -->
- Overall GPU module enhancements: - Overall GPU module enhancements:
- The module now requires CUDA 4.1 or - The module now requires CUDA 4.1 or
later; later;
@ -2813,25 +2674,19 @@ before as well as after 2.4 release.
- Added border extrapolation support for many functions; - Added border extrapolation support for many functions;
- Improved performance. - Improved performance.
<!-- -->
- `pyrUp`/`pyrDown` implementations. - `pyrUp`/`pyrDown` implementations.
<!-- -->
- Matrix multiplication on GPU (wrapper for - Matrix multiplication on GPU (wrapper for
the CUBLAS library). This is optional, the CUBLAS library). This is optional,
user need to compile OpenCV with CUBLAS support. user need to compile OpenCV with CUBLAS support.
<!-- -->
- `OpenGL back-end` has been implemented for `highgui` module, that - `OpenGL back-end` has been implemented for `highgui` module, that
allows to display `GpuMat` directly without downloading them to allows to display `GpuMat` directly without downloading them to
CPU. CPU.
### OpenCV4Android ### OpenCV4Android
See the \[\[Android_Release_Notes\]\]. See the [Android_Release_Notes].
### Performance ### Performance
@ -2839,8 +2694,6 @@ See the \[\[Android_Release_Notes\]\].
conversions, brute-force feature matcher have been optimized using conversions, brute-force feature matcher have been optimized using
TBB and/or SSE intrinisics. TBB and/or SSE intrinisics.
<!-- -->
- Along with regression tests, now many OpenCV functions have got - Along with regression tests, now many OpenCV functions have got
performance tests. Now for most modules one can build performance tests. Now for most modules one can build
`opencv_perf_<modulename>` executables that run various functions `opencv_perf_<modulename>` executables that run various functions
@ -2848,7 +2701,7 @@ See the \[\[Android_Release_Notes\]\].
tests, as well as the normal regression tests, you will need to get tests, as well as the normal regression tests, you will need to get
(a rather big) http://code.opencv.org/svn/opencv/trunk/opencv_extra (a rather big) http://code.opencv.org/svn/opencv/trunk/opencv_extra
directory and set environment variable `OPENCV_TEST_DATA_PATH` to directory and set environment variable `OPENCV_TEST_DATA_PATH` to
“`<your_copy_of_opencv_extra>/testdata`”. `<your_copy_of_opencv_extra>/testdata`.
### Bug fixes ### Bug fixes
@ -2862,9 +2715,9 @@ See the \[\[Android_Release_Notes\]\].
`Algorithm::create`) can fail because linker excludes the “unused” `Algorithm::create`) can fail because linker excludes the “unused”
object files. To avoid this problem, create classes explicitly, e.g object files. To avoid this problem, create classes explicitly, e.g
<!-- --> ```.cpp
Ptr<DescriptorExtractor> d = new BriefDescriptorExtractor; Ptr<DescriptorExtractor> d = new BriefDescriptorExtractor;
```
2.3.1 2.3.1
----- -----
@ -2885,28 +2738,18 @@ port of features2d.
`opencv_contrib` module). See the new retina sample `opencv_contrib` module). See the new retina sample
and https://sites.google.com/site/benoitalexandrevision/. and https://sites.google.com/site/benoitalexandrevision/.
<!-- -->
- Support for Ximea cameras (http://www.ximea.com/) in `highgui` has - Support for Ximea cameras (http://www.ximea.com/) in `highgui` has
been contributed by Ximea developers. been contributed by Ximea developers.
<!-- -->
- Planar subdivisions construction (Delaunay triangulation and - Planar subdivisions construction (Delaunay triangulation and
Voronoi tessellation) have been ported to C++. See the new Voronoi tessellation) have been ported to C++. See the new
`delaunay2.cpp` sample. `delaunay2.cpp` sample.
<!-- -->
- Several new Python samples have been added. - Several new Python samples have been added.
<!-- -->
- `FLANN` in OpenCV has been upgraded to v1.6. Also, added Python - `FLANN` in OpenCV has been upgraded to v1.6. Also, added Python
bindings for `FLANN`. bindings for `FLANN`.
<!-- -->
- We now support the latest FFMPEG (0.8.x) - We now support the latest FFMPEG (0.8.x)
that features multi-threaded decoding. Reading videos in OpenCV has that features multi-threaded decoding. Reading videos in OpenCV has
never been that fast. never been that fast.
@ -2947,8 +2790,6 @@ port of features2d.
- A few more bugs reported in the OpenCV bug tracker have been fixed. - A few more bugs reported in the OpenCV bug tracker have been fixed.
<!-- -->
- Documentation has been improved a lot! The new reference manual - Documentation has been improved a lot! The new reference manual
combines information for C++ and C interfaces, the OpenCV 1.x-style combines information for C++ and C interfaces, the OpenCV 1.x-style
Python bindings and the new C++-style Python bindings. It has also Python bindings and the new C++-style Python bindings. It has also
@ -2969,8 +2810,6 @@ The installation package is probably to come in the next version.
- VS2005 should build OpenCV 2.3 out of the box, including - VS2005 should build OpenCV 2.3 out of the box, including
`DirectShow` support. `DirectShow` support.
<!-- -->
- ffmpeg bindings are now available for all Windows users via - ffmpeg bindings are now available for all Windows users via
compiler- and configuration- and\ compiler- and configuration- and\
version-independent `opencv_ffmpeg.dll` (for 32-bit compilers) and version-independent `opencv_ffmpeg.dll` (for 32-bit compilers) and
@ -2987,8 +2826,6 @@ The installation package is probably to come in the next version.
testing OpenCV snapshots. The current status is available at testing OpenCV snapshots. The current status is available at
http://pullrequest.opencv.org/ http://pullrequest.opencv.org/
<!-- -->
- OpenCV switched to Google - OpenCV switched to Google
Test (http://code.google.com/p/googletest/) engine for regression Test (http://code.google.com/p/googletest/) engine for regression
and correctness tests. Each module now has “test” sub-directory and correctness tests. Each module now has “test” sub-directory
@ -3000,11 +2837,9 @@ The installation package is probably to come in the next version.
instead of `cv::Mat` references. It retains compatibility with the instead of `cv::Mat` references. It retains compatibility with the
existing code and yet brings more natural support for STL vectors and potentially other “foreign” data existing code and yet brings more natural support for STL vectors and potentially other “foreign” data
structures to OpenCV. See structures to OpenCV. See
http://docs.opencv.org/modules/core/doc/intro.html\#inputarray-and-outputarray http://docs.opencv.org/modules/core/doc/intro.html#inputarray-and-outputarray
for details. for details.
<!-- -->
- `core` - `core`
- `LAPACK` is not used by OpenCV anymore. The change decreased the - `LAPACK` is not used by OpenCV anymore. The change decreased the
library footprint and the compile time. We now use our own library footprint and the compile time. We now use our own
@ -3015,32 +2850,23 @@ The installation package is probably to come in the next version.
- Arithmetic operations now support mixed-type operands and - Arithmetic operations now support mixed-type operands and
arbitrary number of channels. arbitrary number of channels.
<!-- -->
- `features2d` - `features2d`
- Completely new patent-free `BRIEF` and `ORB` feature descriptors - Completely new patent-free `BRIEF` and `ORB` feature descriptors
have been added. have been added.
- Very fast LSH matcher for `BRIEF` and - Very fast LSH matcher for `BRIEF` and
`ORB` descriptors will be added in 2.3.1. `ORB` descriptors will be added in 2.3.1.
<!-- -->
- `calib3d` - `calib3d`
- A new calibration pattern, [circles - A new calibration pattern, [circles grid](http://code.opencv.org/svn/opencv/branches/2.3/opencv/doc/acircles_pattern.png),
grid](http://code.opencv.org/svn/opencv/branches/2.3/opencv/doc/acircles_pattern.png),
has been added. See findCirclesGrid() function and the updated has been added. See findCirclesGrid() function and the updated
calibration.cpp sample. With the new pattern calibration calibration.cpp sample. With the new pattern calibration
accuracy is usually much higher. accuracy is usually much higher.
<!-- -->
- `highgui` - `highgui`
- \[Windows\] `videoInput` is now a part of `highgui`. If there - Windows `videoInput` is now a part of `highgui`. If there
are any problems with compiling `highgui`, set are any problems with compiling `highgui`, set
`WITH_VIDEOINPUT=OFF` in CMake. `WITH_VIDEOINPUT=OFF` in CMake.
<!-- -->
- `stitching` - `stitching`
- `opencv_stitching` is a beta version of new application that - `opencv_stitching` is a beta version of new application that
makes a panorama out of a set of photos taken from the makes a panorama out of a set of photos taken from the
@ -3072,27 +2898,21 @@ The installation package is probably to come in the next version.
port (which is actually not a separate branch of OpenCV, its the port (which is actually not a separate branch of OpenCV, its the
same code tree with additional build scripts) has been greatly same code tree with additional build scripts) has been greatly
improved, a few demos developed. Camera support has been added as improved, a few demos developed. Camera support has been added as
well.\ well.
See \[\[Android_Release_Notes\#231-beta1\]\] for details. See [Android_Release_Notes#231-beta1] for details.
### Documentation ### Documentation
- OpenCV documentation is now written in `ReStructured Text` and built - OpenCV documentation is now written in `ReStructured Text` and built
using `Sphinx` (http://sphinx.pocoo.org). using `Sphinx` (http://sphinx.pocoo.org).
<!-- -->
- Its not a single reference manual now, its 4 reference manuals - Its not a single reference manual now, its 4 reference manuals
(OpenCV 2.x C++ API, OpenCV 2.x Python (OpenCV 2.x C++ API, OpenCV 2.x Python
API, OpenCV 1.x C API, OpenCV 1.x Python API), the emerging user guide and a set of API, OpenCV 1.x C API, OpenCV 1.x Python API), the emerging user guide and a set of
tutorials for beginners. tutorials for beginners.
<!-- -->
- Style and grammar of the main reference manual (OpenCV 2.x C++ API) have been thoroughly checked and fixed. - Style and grammar of the main reference manual (OpenCV 2.x C++ API) have been thoroughly checked and fixed.
<!-- -->
- Online up-to-date version of the manual is available at - Online up-to-date version of the manual is available at
http://docs.opencv.org http://docs.opencv.org
@ -3117,8 +2937,6 @@ The installation package is probably to come in the next version.
- Documentation (especially on the new Python bindings) is still - Documentation (especially on the new Python bindings) is still
being updated. Watch http://docs.opencv.org for updates. being updated. Watch http://docs.opencv.org for updates.
<!-- -->
- Android port does not provide Java interface for OpenCV. It is going - Android port does not provide Java interface for OpenCV. It is going
to be added to [2.3 to be added to [2.3
branch](http://code.opencv.org/svn/opencv/branches/2.3/opencv) in a branch](http://code.opencv.org/svn/opencv/branches/2.3/opencv) in a
@ -3168,8 +2986,9 @@ names) and update the include paths.
It is still possible to use `#include <cv.h>` etc. but the recommended It is still possible to use `#include <cv.h>` etc. but the recommended
notation is: notation is:
```.cpp
#include "opencv2/imgproc/imgproc.hpp" #include "opencv2/imgproc/imgproc.hpp"
... ```
Please, check the new C and C++ samples Please, check the new C and C++ samples
(http://code.opencv.org/svn/opencv/trunk/opencv/samples), which now (http://code.opencv.org/svn/opencv/trunk/opencv/samples), which now
@ -3181,13 +3000,8 @@ include the new-style headers.
SWIG-based Python wrappers are not SWIG-based Python wrappers are not
included anymore. included anymore.
<!-- -->
- OpenCV can now be built for Android (GSoC 2010 project), thanks to - OpenCV can now be built for Android (GSoC 2010 project), thanks to
Ethan Rublee; and there are some samples too. Please, check Ethan Rublee; and there are some samples too. Please, check [OpenCV4Android]
\[\[OpenCV4Android\]\]
<!-- -->
- The completely new `opencv_gpu` acceleration module has been created - The completely new `opencv_gpu` acceleration module has been created
with support by NVIDIA. See below with support by NVIDIA. See below
@ -3215,8 +3029,6 @@ include the new-style headers.
- `cv::exp` and `cv::log` are now much faster thanks to - `cv::exp` and `cv::log` are now much faster thanks to
SSE2 optimization. SSE2 optimization.
<!-- -->
- `imgproc` - `imgproc`
- color conversion functions have been rewritten; - color conversion functions have been rewritten;
- RGB→Lab & RGB→Luv performance has been - RGB→Lab & RGB→Luv performance has been
@ -3233,8 +3045,6 @@ include the new-style headers.
- special variant of `initUndistortRectifyMap` for wide-angle - special variant of `initUndistortRectifyMap` for wide-angle
cameras has been added: `initWideAngleProjMap()` cameras has been added: `initWideAngleProjMap()`
<!-- -->
- `features2d` - `features2d`
- the unified framework for keypoint extraction, computing the - the unified framework for keypoint extraction, computing the
descriptors and matching them has been introduced. The descriptors and matching them has been introduced. The
@ -3262,45 +3072,28 @@ include the new-style headers.
parallelized using TBB (the patch is parallelized using TBB (the patch is
by imahon and yvo2m) by imahon and yvo2m)
<!-- -->
- `objdetect` - `objdetect`
- LatentSVM object detector, implementing P. Felzenszwalb - LatentSVM object detector, implementing P. Felzenszwalb
algorithm, has been contributed by Nizhniy Novgorod State algorithm, has been contributed by Nizhniy Novgorod State
University (NNSU) team. See University (NNSU) team. See
`opencv/samples/c/latentsvmdetect.cpp` `opencv/samples/c/latentsvmdetect.cpp`
<!-- -->
- `calib3d` - `calib3d`
- The new rational distortion model: - The new rational distortion model has been introduced. It is useful for calibration of cameras with
wide-angle lenses.
Because of the increased number of parameters to optimize you need to
supply more data to robustly estimate all of them. Or, simply initialize
the distortion vectors with zeros and pass `CV_CALIB_RATIONAL_MODEL` to
enable the new model
`CV_CALIB_FIX_K3 + CV_CALIB_FIX_K4 + CV_CALIB_FIX_K5` or other such
combinations to selectively enable or disable certain coefficients.
`x' = x * (1` + `k`~1~ \* `r`\^2\^ + `k`~2~ \* `r`\^4\^ + `k`~3~ - rectification of trinocular camera setup, where all 3 heads are on
\* `r`\^6\^`)/(1` + `k`~4~ \* `r`\^2\^ + `k`~5~ \* `r`\^4\^ + the same line, is added. see `samples/cpp/3calibration.cpp`
`k`~6~ \* `r`\^6\^`) +` *&lt;tangential_distortion for @x@&gt;*,\
`y' = y * (1` + `k`~1~ \* `r`\^2\^ + `k`~2~ \* `r`\^4\^ + `k`~3~
\* `r`\^6\^`)/(1` + `k`~4~ \* `r`\^2\^ + `k`~5~ \* `r`\^4\^ +
`k`~6~ \* `r`\^6\^`) +` *&lt;tangential_distortion for @y@&gt;*
has been introduced. It is useful for calibration of cameras with
wide-angle lenses.\
Because of the increased number of parameters to optimize you need to
supply more data to robustly estimate all of them. Or, simply initialize
the distortion vectors with zeros and pass `CV_CALIB_RATIONAL_MODEL` to
enable the new model
`CV_CALIB_FIX_K3 + CV_CALIB_FIX_K4 + CV_CALIB_FIX_K5` or other such
combinations to selectively enable or disable certain coefficients.
- rectification of trinocular camera setup, where all 3 heads are on
the same line, is added. see `samples/cpp/3calibration.cpp`
<!-- -->
- `ml` - `ml`
- Gradient boosting trees model has been contributed by NNSU team. - Gradient boosting trees model has been contributed by NNSU team.
<!-- -->
- `highgui` - `highgui`
- Experimental Qt backend for OpenCV has been added as a result of - Experimental Qt backend for OpenCV has been added as a result of
GSoC 2010 project, completed by Yannick Verdie. The backend has GSoC 2010 project, completed by Yannick Verdie. The backend has
@ -3310,7 +3103,7 @@ combinations to selectively enable or disable certain coefficients.
and radio buttons, interactive zooming, panning of the images and radio buttons, interactive zooming, panning of the images
displayed in `highgui` windows, “save as” etc. Please, check the displayed in `highgui` windows, “save as” etc. Please, check the
youtube videos where Yannick demonstrates the new features: youtube videos where Yannick demonstrates the new features:
http://www.youtube.com/user/MrFrenchCookie\#p/u http://www.youtube.com/user/MrFrenchCookie#p/u
- The new API is described here: - The new API is described here:
http://docs.opencv.org/modules/highgui/doc/qt_new_functions.html http://docs.opencv.org/modules/highgui/doc/qt_new_functions.html
To make use of the new API, you need To make use of the new API, you need
@ -3322,29 +3115,23 @@ combinations to selectively enable or disable certain coefficients.
now supported. now supported.
- You can now set the mode for IEEE1394 cameras on Linux. - You can now set the mode for IEEE1394 cameras on Linux.
<!-- -->
- `contrib` - `contrib`
- Chamfer matching algorithm has been contributed by Marius Muja, - Chamfer matching algorithm has been contributed by Marius Muja,
Antonella Cascitelli, Marco Di Stefano and Stefano Fabri. See Antonella Cascitelli, Marco Di Stefano and Stefano Fabri. See
`samples/cpp/chamfer.cpp` `samples/cpp/chamfer.cpp`
<!-- --> - `gpu`
- `gpu`\
This is completely new part of OpenCV, created with the support by This is completely new part of OpenCV, created with the support by
NVIDIA.\ NVIDIA.
Note that the package is at alpha, probably early beta state, so use Note that the package is at alpha, probably early beta state, so use
it with care and check OpenCV SVN it with care and check OpenCV SVN
for updates. for updates.
In order to use it, you need to have the latest NVidia CUDA SDK installed, and In order to use it, you need to have the latest NVidia CUDA SDK installed, and
build OpenCV with CUDA support build OpenCV with CUDA support (`-DWITH_CUDA=ON` CMake flag).
(`-DWITH_CUDA=ON` CMake flag).
All the functionality is put to `cv::gpu` namespace. The full list of All the functionality is put to `cv::gpu` namespace. The full list of
functions and classes can be found at\ functions and classes can be found at `opencv/modules/gpu/include/opencv2/gpu/gpu.hpp`, and here are some
`opencv/modules/gpu/include/opencv2/gpu/gpu.hpp`, and here are some
major components of the API: major components of the API:
- image arithmetics, filtering operations, morphology, geometrical - image arithmetics, filtering operations, morphology, geometrical
@ -3352,11 +3139,9 @@ major components of the API:
- 3 stereo correspondence algorithms: Block Matching, Belief - 3 stereo correspondence algorithms: Block Matching, Belief
Propagation and Constant-Space Belief Propagation. Propagation and Constant-Space Belief Propagation.
- HOG-based object detector. It runs more - HOG-based object detector. It runs more
than order of magnitude faster than the CPU version!\ than order of magnitude faster than the CPU version!
See `opencv/samples/gpu` See `opencv/samples/gpu`
<!-- -->
- `python` bindings\ - `python` bindings\
A lot more of OpenCV 2.x functionality is now covered by A lot more of OpenCV 2.x functionality is now covered by
Python bindings. Python bindings.
@ -3370,12 +3155,14 @@ They will be automatically created by the functions.
Here is a micro example: Here is a micro example:
```.py
import cv import cv
a=cv.imread("lena.jpg",0) a=cv.imread("lena.jpg",0)
b=cv.canny(a, 50, 100, apertureSize=3) b=cv.canny(a, 50, 100, apertureSize=3)
cv.imshow("test",b) cv.imshow("test",b)
cv.waitKey(0) cv.waitKey(0)
```
In the sample `a` and `b` are normal `numpy` arrays, so the whole power In the sample `a` and `b` are normal `numpy` arrays, so the whole power
of `numpy` and `scipy` can now be combined with OpenCV functionality. of `numpy` and `scipy` can now be combined with OpenCV functionality.
@ -3385,8 +3172,6 @@ of `numpy` and `scipy` can now be combined with OpenCV functionality.
- Links to wiki pages have been added to each function description, - Links to wiki pages have been added to each function description,
see http://opencv.willowgarage.com see http://opencv.willowgarage.com
<!-- -->
- All the samples have been documented with default output (0 or - All the samples have been documented with default output (0 or
incomplete number of parameters) set to print out “howto” run incomplete number of parameters) set to print out “howto” run
instructions; most samples have been converted to C++ to use the new instructions; most samples have been converted to C++ to use the new
@ -3398,8 +3183,6 @@ of `numpy` and `scipy` can now be combined with OpenCV functionality.
still open) are listed at still open) are listed at
http://code.opencv.org/projects/opencv/issues?set_filter=1 http://code.opencv.org/projects/opencv/issues?set_filter=1
<!-- -->
- The old bug tracker at - The old bug tracker at
https://sourceforge.net/projects/opencvlibrary/ is now closed https://sourceforge.net/projects/opencvlibrary/ is now closed
for updates. As soon as all the still relevant bug reports will be for updates. As soon as all the still relevant bug reports will be