Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork56.4k
OpenCV Change Logs v2.2‐v4.10
Previous Change Logs:
June, 2024
Summer's update for OpenCV 4.x has been released. The release also includesOpenCV Model Zoo.
Core Module:
- Added CV_FP16 data type for cv::Mat#24892,#24918. Deprecated convertFp16 function, added FP16 support to cv::Mat::convertTo and analogs.
- Fixed undefined behaviour in some cases related to FP16 arithmetic#25598
- Extended HAL API for minMaxIdx#25563, LUT#25554, meanStdDev#25483, moments 25490, normHamming#25491. HAL entries for transpose#25342, some arithmetic functions#25574,#25506
- Persistence: output reals as human-friendly expression.#25351
- Added cgroups v2 support to parallel framework#25285
- Added in-place support for cartToPolar and polarToCart#24893
Imgproc Module:
- Added relative displacement field option to cv::remap#24621
- Added new findContours implementation#25146,#25680,#25385
- Refactored EMD algorithm to get rid of C-API usage#25469
- Fixed bug in stackBlur with large kernels#25513
- Extended HAL for projectPoints#25511, equalizeHist#25565, Otsu threshold#25509. Added new HAL entries for gaussianBlur#25397, remap#25399, bilaterialFilter#25343.
Calib3d Module:
- Fixed several bugs in hand-eye calibration methods#24897,#25423
- Fixed several bugs in findHomography implementation#25308,#25665
- Multiple improvements in findChessboardCorners implementation:#25365, 25195, 25177, 25182, 25145, 24779, 24710, 24833, 25090
- Improved symmetric circles grid pattern detection#25258
- Fixed possible infinite loop in USAC#24987
- Changed approach for initial estimation for focal length in fisheye calibration#25030
- Added solvePnP implementation for Fisheye camera model#25028

- DNN module:
- Significantly improved DNN memory consumption#25181, 25163
- Added Net::dumpToPbtxt method to review optimized graph with Netron#25582
- Added support for several TFLite layers: Global_Pool_2D#25613, Transpose#25297, HardSwishInt8#24985, split, fully connected, SoftMax, Cast#25273.
- Fixed bugs in several ONNX layers: Slice#25660, Range#25414, Clip#25319, ReduceMean#25120, Einsum#25100, Norm#24808, negative axis support in Concat#24865.
- Added new ONNX layers: Mod#24765, GroupNorm layer#24610.
- Added more DNN layers with OpenVINO#25524,#25291,25518.
- Optimized fastDepthwiseConv#25361 and int8 layers 25230 for RISC-V with RVV extension
- Optimized fastDepthwiseConv for RISC-V P Packed SIMD Extension v0.5.2#24556
- Optimized Attention#24476,#25271,#25238,#24613, 25076.
- Added parallel version for scatter and scatterND#24813
- Added broadcasting if a.rank() != b.rank() with CuDNN backend#24834
- Tuned Winograd algorithm usage for convolutions#24709
- Added Raft model support and tracking sample with it#24913
- Added Vulkan backend for NaryEltwiseLayer in DNN module#24768
- Imporved modern Yolo detectors support. Added sample and documentation#24898,#24611
- Added CuDNN 9+ support#25412
- Added OpenVINO 2024 support#25199

- G-API module:

Objdetect module:
- Fixed inaccurate Charuco board generation in some cases (
.generateImage())#24873,#25673 - Fixed Aruco detector thread safety issue#24807, made Aruco detector more deterministic#24829
- Added QR codes Structured Append decoding mode#24548
- Several bug fixes in QR code detector and decoder#25026
- Fixed barcode detectAndDecode#25035
- Ported remaning Aruco and Charuco documentation and samples to modern API#23018
- Fixed inaccurate Charuco board generation in some cases (
VideoIO:
Python Bindings:
Android:
- Added any screen orientation support for JavaCameraView#24827, JavaCamera2View and NativeCameraView#24869 in Android samples. Fixed double preview initialization bug in JavaCamera2View#24869.
- Removed Android AIDL from build scrips and tutorials as it's not needed since 4.9.0#24843
- Enable file system on Emscripten#24949
- Updated Android samples for modern Android studio. Added OpenCV from Maven support.#24473
- Added Kotlin classes to AAR#24884
- Added ARM KleidiCV as HAL for ARM v8 and v9 processors (
-DWITH_KLEIDICV=ONCMake option)#25443,#25618,ARM announcement.
Platforms support:
- CUDA 12.4+ support#25658
- Wayland back-end for Linux#25551,#25510,#25502
- New LAPACK interface support on MacOS and derivatives#24804,#25625
- Added initial version of HAL for RISC-V processors with P-extension (v0.5.2, Andes platforms)#25167
- Added ARM KleidiCV as HAL for ARM v8 and v9 processors (
-DWITH_KLEIDICV=ONCMake option)#25443,#25618,ARM announcement. - Added zlib-ng as alternative to classic zlib (
-DWITH_ZLIB_NG=ONCMake option)#24782 - OneAPI 2024 support (IPP, TBB)
- Experimental Apple VisionOS support
- Experimental Windows ARM64 support
contributors
git shortlog --no-merges -ns 4.9.0..4.10.0 64 Alexander Smorkalov 28 Maksim Shabunin 22 Kumataro 15 Yuantao Feng 13 Rostislav Vasilikhin 11 Vincent Rabaud 10 Dmitry Kurtaev 9 fengyuentau 6 Letu Ren 6 MaximSmolskiy 6 alexlyulkov 5 Alexander Alekhin 5 Alexander Lyulkov 4 Abduragim Shtanchaev 4 Laurent Berger 4 Maxim Smolskiy 4 Michael Klatis 3 Adrian Kretz 3 Alessandro de Oliveira Faria (A.K.A.CABELO) 3 Alex 3 Alexander Panov 3 Brad Smith 3 Dhanwanth1803 3 Suleyman TURKMEN 3 cudawarped 2 Anatoliy Talamanov 2 Benjamin Buch 2 CNOCycle 2 Dmitry Matveev 2 HAN Liutong 2 Misha Klatis 2 Pierre Chatelier 2 Stefan Dragnev 2 Tomoaki Teshima 2 Vadim Levin 2 Wanli 2 Yusuke Kameda 2 Zhuo Zhang 2 catree 2 eplankin 2 lpanaf 2 unknown 1 Abduragim 1 Ahmed Essam 1 AleksandrPanov 1 Aman-Vishwakarma1729 1 Anastasiya Pronina 1 Aryan 1 CSBVision 1 Carlos Azevedo 1 Cristian Dobre 1 Dan Rosser 1 Danial Javady 1 Daria Mityagina 1 Giorgos Karagounis 1 Gonzalo Matheu 1 Haosonn 1 Ingrid Wang 1 John Slade 1 John Stechschulte 1 Jun 1 JunX 1 Junyan721113 1 Linaname 1 Liutong HAN 1 Lollyrana 1 LuukvandenBent 1 Maksym Ivashechkin 1 Markus Murschitz 1 Matthias Möller 1 MengqingCao 1 NlSEMONO 1 Oleg Pipikin 1 Phil Nelson 1 Rageking8 1 RoboSchmied 1 Ryo H 1 Sean McBride 1 Sergei Shutov 1 Susumu IINO 1 Székely Gábor 1 TolyaTalamanov 1 Tsukasa Sugiura 1 Ujjayant Kadian 1 Vadim Pisarevsky 1 Yannis Guyon 1 Yu SuiXian 1 Yuriy Chernyshov 1 Yuya Unno 1 Zhi-Qiang Zhou 1 _Burnside 1 ache 1 ajithvallabai 1 daiyin 1 ecchen 1 inkredibl 1 jimmylaw21 1 lackhole 1 llh721113 1 lpylpy0514 1 mikhail.shtennikov 1 ryanking13 1 sepperliu 1 shenleban tongying 1 thewoz 1 uday 1 utibenkei 1 xndcn 1 zihaomu 1 zzuliys 1 刘雄康December, 2023
New Year's update for OpenCV 4.x has been released. The release also includesOpenCV Model Zoo.
Core Module:

- DNN modulepatches:
- Experimental transformers support
- #24476 ONNX Attention layer support
- #24037 ONNX Einsum layer support
- #23987 OpenVINO backend for INT8 models
- #24092 ONNX Gather Elements layer
- #24378 ONNX InstanceNorm layer
- #24295 better support of ONNX Expand layer with
cv::broadcast - #24463#24577#24483 Improved DNN graph fusion with shared nodes and commutative operations
- #23897#24694#24509 New fastGEMM implementation and several layers on top of it
- #23654 Winograd fp16 optimizations on ARM
- Tests and multiple fixes for Yolo family models support
- New layers support and bug fixes in CUDA backend: GEMM, Gelu, Add
- #24462 CANN backend: bug fix, support HardSwish, LayerNormalization and InstanceNormalization
- #24552 LayerNormalization: support OpenVINO, OpenCL and CUDA backend.

G-API module:
Intel® OpenVINO™ DL inference backend:
Microsoft® ONNX Runtime DL inference backend:
- #24024 Introduced OpenVINO™ execution provider (EP) support for the ONNX RT DL backend.
- #24045#24060 Introduced Microsoft® DirectML execution provider (EP) support for the ONNX RT DL backend.
- #24059 Introduced NVIDIA® CUDA® and TensorRT execution provider (EP) support for the ONNX RT DL backend.
- #24068 Introduced Apple® CoreML execution provider (EP) support for the ONNX RT DL backend.
Core and image processing functionality:
Streaming and video functionality:
Python bindings:
- #24576 Exposed VAS OT in G-API Python bindings.
Other changes and fixes:

Objdetect module:
- #24299 Implemented own QR code decoder as replacement for QUIRC library
- #24364 Bug fixes in QR code encoder version estimation
- #24355 More accurate Aruco marker corner refinement with dynamic window
- #24479 Fixed contour filtering in ArUco
- #24598 QR code detection sample for Android
- Multiple local bug fixes and documentation update for Aruco makers, Charuco boards and QR codes.
Video:
VideoIO:
Calibration module:
- Multiple fixes and improvements chess board calibration rig detector.
- #23025 calibrateCamera throws exception, if calibration system is underconstrained.
- #24482 Fixed bug in findEssentialMat with USAC
- #24527 Fixed out-of-image access in
cv::cornerSubPix - #23607 Fixed crash in ap3p
- #24035 Fixed stereoRectify image boundaries
- #24211 Fixed "use after free" issue in essential_solver.cpp
Python Bindings:
- #24023,#24022,#23910 Added type stub generation for missed types and manually wrapped types.
- #24026 Added read-only flag handling for Numpy arrays.
- #24028 Fixed exception handling and bindings for in module.
- #23958 Improved error messages in Numpy array type handling.
- #24468 Fixed constructors documentation in Python.
Android:
- New Android Archive Package (AAR) distrubuted withMaven Central
- Finally removed API for OpenCV manager.
OpenCVLoader.initLocal()should be used to initialize OpenCV. - New Android samples: QR code detector, video IO sample. DNN and Face Detector samples refresh.
- Switch to Gradle 7.6.3, modern Android tools.
Platforms and hardware Support:
Other:
- TBD
- OpenCV Summer of Code: semi-automated refactoring acrossmultiple pull requests by HAN Liutong made our CPU-optimized code compatible with SIMD with variable vector length (RISC-V RVV)
contributors
git shortlog --no-merges -ns 4.8.1..4.9.0 56Alexander Smorkalov 31Dmitry Kurtaev 20Vincent Rabaud 20Yuantao Feng 17Maksim Shabunin 14Vadim Levin 13Alexander Alekhin 11Kumataro 10Maxim Smolskiy 9Alex 8cudawarped 7Anatoliy Talamanov 7HAN Liutong 7Letu Ren 7alexlyulkov 6Abduragim Shtanchaev 6Alexander Lyulkov 6Liutong HAN 6Wanli 6Yuriy Chernyshov 5Rostislav Vasilikhin 5Tomoaki Teshima 4Alexander Panov 3Avasam 3Mihir Patil 3Sean McBride 3Wang Kai 3fengyuentau 3unknown 2Alexey Smirnov 2Anastasiya Pronina 2CSBVision 2Giles Payne 2JUBIN CHHEDA 2Laurent Berger 2Maksym Ivashechkin 2Vadim Pisarevsky 2autoantwort 2thewoz 1Alessandro de Oliveira Faria (A.K.A.CABELO) 1Amir Hassan 1Aser Atawya 1Berke 1Björn Böken 1CNClareChen 1COOLIRON2311 1Chia-Hsiang Tsai 1Chris Lee 1Clement Courbet 1Csaba Kertész 1DeePingXian 1Dhanwanth1803 1Dmitry Matveev 1Emmanuel Ferdman 1FlyinTeller 1Ginkgo 1Hao Chen 1Ivashechkin, Maxim (PG/R - Comp Sci & Elec Eng) 1Jeremy Lyda 1Kirin Chu 1Kuan-Wei Chiu 1Marek Kochanczyk 1MuZihao 1Peter Johnson 1Phil Nelson 1Philip Allgaier 1Philipp Schrader 1SaltFish-T 1Sam James 1Samuel Thibault 1Shubh Raheja 1Stanley Mwangi 1Stefan Dragnev 1Stefan Isak 1Sérgio M. Basto 1Yusuke Kameda 1Zhang Na 1Zihao Mu 1alexander-varjo 1andrewerf 1ashadrina 1beanjoy 1casualwinds 1chacha21 1chaebkimm 1definitelyuncertain 1eplankin 1firebladed 1headshog 1huafengchun 1iarspider 1jason_w 1jvuillaumier 1kallaballa 1laolaolulu 1lpylpy0514 1richard28039 1skycat8 1zihaomu 1zixgo 1zzuliys 1不鱼儿 1刘佩其September, 2023
Security release.
Changes:
- WebP security update forCVE-2023-4863
- Depthwise convolution 5x5 performance regression fix (#23941).
June, 2023
Summer update for OpenCV 4.x has been released.

DNN modulepatches:
- #23161,#23409 TFLite models support, including int8 quantized models.
- #23604 Enabled DNN module build without Protobuf dependency.
- Improved layers => supported more models:
- ONNX:#23047 Layer normalization,#23219 GELU and#23655 QLinearSoftmax.
- Fixes in CANN backend:
- #23613 Reduce Refactor for robustness and potential follow-up improvements.
- #23491 Fixes for Segment Anything Model by Meta.
- Fixes in nary element wise layer about broadcast:
- Further increased DNN speed on ARM and X86 by improving convolution, covering 1D and 3D cases, supporting convolution+element-wise op fusion.
- Added full FP16 computation branch on ARMv8 platform, 1.5x faster than FP32#22275(FP16 Winograd is still pending).
- #23349 Vulkan backend refactor for better performance and robustness. It runs 4X faster than before.
- #22750 Added API
blobFromImageParamto build network inputs with pre-processings. - #22957 Modern OpenVINO support.

G-API module:
Intel® OpenVINO™ inference backend:
- #23668#23786 Streamlined preprocessing in OpenVINO Inference Engine (ie) API 1.0 backend. Note: this backend will be deprecated after OpenVINO removes the API 1.0 support in its subsequent releases.
- #23796 Aligned OpenVINO IE API 1.0 backend with the latest OpenVINO 2023.0 (as some features were removed there).
- #23595 Introduced a brand new OpenVINO API 2.0 backend.
- #23799 Implemented the required inference operations for the OpenVINO API 2.0 backend.
Microsoft® ONNX Runtime inference backend:
- #23597 Updated G-API ONNX RT backend to support ONNX RT version 1.14.1. Now it is the minimum version required to build this backend.
Python bindings:
- #23597 Exposed varions normalization options for ONNX RT backend in Python bindings.
- #23597 Exposed Fluid kernels and kernel package manipulation functions (
combine()) in Python. - #23597 Fixed issues in Stateful Python kernel state handling; also fixed various issues in Python tests.
- #23843 Fixed issue with opaque kernel output information handling which broke Python custom kernels.
Samples:
Other changes and fixes:

Objdetect module:
- #23020 FaceDetectorYN upgrade for better performance, accuracy and facial landmarks support.
- #23264 New QR code detection algorithm based on ArUco code.
- #23666 Bar code detector and decoder moved from Contrib to main repository.
- #23758 Introduced common API for all graphical codes like bar codes and QR codes.
- #23153 Added flag for legacy pre-4.6.0 ChAruco boards support.
- Multiple bug fixes and improvements in QR code detection and decoding pipelines.
- Multiple bug fixes and improvements in ArUco based pipelines.
Calibration module:
- #23078 USAC framework improvements.
- #23025 Fixed stddev estimation in camera calibration pipelines.
- #23305 Fixed incorrect pixel grid generation in icvGetRectangles that improves accuracy of getOptimalNewCameraMatrix, stereoRectify and some other calibration functions.
- Charuco board support in patterns generator, interactive calibration tool and calibration samples.
Image processing module:
- #23210,#23388 Various fixes in line segments detector.
- #23634 Fixed even input dimensions for INTER_NEAREST_EXACT in resize.
- #21959 Optimise local cost computation in IntelligentScissorsMB::buildMap.
- Keep inliers for linear remap with BORDER_TRANSPARENT #23754
- #22798 Fix distransform to work with large images.
Features2d module:
- #23124 SIFT accuracy improvements.
Core module:
Multimedia:
- #23596 Added AVIF support through libavif.
- #23237 Orbbec Femto Mega cameras support.
- #23172 HEVC/H265 support in VideoWriter with MS Media Foundation backend.
- #23692 Fixed FPS computation on some videos for FFmpeg backend.
- #23300 Added support for VideoCapture CAP_PROP_AUTO_WB and CV_CAP_PROP_WHITE_BALANCE_BLUE_U for DShow backend.
- #23460,#23469 Fixes OBS Virtual Camera capture.
- #23433 CV_32S encoding support with tiff.
- #3486,#3453 More strict decoder checks and dynamic resolution support in cudacodec module (opencv_contrib).
- #3485 Added basic VideoCapture properties support to cudacodec module (opencv_conrib).
Python Bindings:
- #20370 Python typing stubs.
- #23350 Fix reference counting errors in registerNewType.
- #23399,#23436,#23138 Fixed ChAruco and diamond boards detector bindings.
- #23371 Added bindings to allow GpuMat and Stream objects to be initialized from memory initialized in other libraries
- #23691 np.float16 support.
- Python bindings for RotatedRect, CV_MAKETYPE, CV_8UC(n).
JavaScript bindings:
- #23344 Added possibility for disabling inlining
wasminopencv.js - Extended JS bindings for Aruco, Charuco, QR codes and bar codes.
- #23344 Added possibility for disabling inlining
Platforms:
Other:
- Several critical issue fixes in wechat_qrcode module (opencv_contrib)
opencv (112 contributors)
git shortlog --no-merges -ns 4.7.0..4.8.0 32 Alexander Smorkalov 18 Dmitry Kurtaev 14 zihaomu 13 Maksim Shabunin 12 Alexander Alekhin 11 Yuantao Feng 10 Vadim Levin 8 Alex 8 Anatoliy Talamanov 7 Abduragim Shtanchaev 7 unknown 6 TolyaTalamanov 6 Vladimir Ponomarev 6 Zihao Mu 6 cudawarped 5 Sean McBride 5 wanli 4 Christine Poerschke 3 Alexander Panov 3 Dmitry Matveev 3 Giles Payne 3 Kumataro 3 Pierre Chatelier 3 Rostislav Vasilikhin 3 Wang Kai 3 fengyuentau 3 keith siilats 3 vovka643 2 Anna Khakimova 2 Anna Petrovicheva 2 CSBVision 2 Corentin Noël 2 Genci Berisha 2 Labib Asari 2 Laurent Berger 2 Stefan Becker 2 Tomoaki Teshima 2 TuNanTang 2 Vadim Pisarevsky 2 Vincent Rabaud 2 Yannis Guyon 2 gottagofaster236 2 smeng9 1 Abduragim 1 Akshat Chauhan 1 Alessandro de Oliveira Faria (A.K.A. CABELO) 1 Alexander Duda 1 Alexey Shtern 1 Avasam 1 Bhavit Patel 1 Christian Henkel 1 Christoph Rackwitz 1 Damiano Falcioni 1 Duong Dac 1 Fabrizio Di Vittorio 1 Funatomi Takuya 1 Gabriel Nascarella 1 Gaotianhong 1 HAN Liutong 1 Ibai Gorordo 1 Ihsan Soydemir 1 Jaakko Rantala 1 Jesus Noland 1 Jindřich Šaršon 1 Lilit Grigoryan 1 Lilo Huang 1 Lukas Weber 1 Maksym Ivashechkin 1 Matthias Möller 1 Maxim Smolskiy 1 Milan van Wouden 1 Olivier Hotel 1 Onuralp Sezer 1 Paul Kim (김형준) 1 Peter Rekdal Khan-Sunde 1 Prasanth R 1 Rahul Noronha 1 Raj Kachhadiya 1 Sajjad Ali 1 Sergey Petrenko 1 Simon Lynen 1 SoY Szala 1 Spike 1 Tinson Lai 1 Ulvi YELEN 1 Vaclav Vavra 1 WU Jia 1 Wwupup 1 Xxfore 1 Yang Chao 1 Zero-nnkn 1 Zero2key 1 Zhi-Qiang Zhou 1 Zwyx 1 anders-nylander 1 anderskiaer 1 captain-n3m0 1 dizcza 1 eplankin 1 hzcyf 1 inayd 1 ippei.i 1 kallaballa 1 lamm45 1 n0099 1 souch 1 tantei3 1 thewoz 1 tingbo.liao 1 tkram01 1 triple Mu 1 whuaegeanseaopencv_contrib (18 contributors)
git shortlog --no-merges -ns 4.7.0..4.8.0 8 cudawarped 7 Alexander Smorkalov 4 Maksim Shabunin 3 Mariya Sinitsina 2 Nano 2 Tomoaki Teshima 2 vovka643 1 747 1 Alex 1 Dmitry Kurtaev 1 Kumataro 1 Mat&I 1 Maxim Milashchenko 1 Rostislav Vasilikhin 1 Sergei Shutov 1 SpaceIm 1 smeng9 1 unknownJune, 2023
OpenCV 3.4.20 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.8.0.OpenCV 3.4.20 is last official release in 3.4 branch.
December, 2022
New Year's update for OpenCV 4.x has been released.

DNN modulepatches:
Improved layers / supported more models:
Added CANN backend support#22634. Link to the manual:https://github.com/opencv/opencv/wiki/Huawei-CANN-Backend.
Added bacthed NMS for multi-class object detection#22857
Accelerating convolution, especially for ARM CPU.#21910 and#22905
Winograd's convolution optimization
Nanotrack v2 tracker based on neural networks.

G-API module:
G-API framework:
- Slightly refactored G-API executor class hierarchy for the future extensibility:#22451;
OpenCL backend:
- Introduced zero-copy path from oneVPL surfaces to OpenCL/GPU memory buffers in the OpenCL backend:#22559;
Intel® OpenVINO™ inference backend:
- Enabled asynchronous infer requests in the OpenVINO NN backend:#22588.
Media integration:
Python bindings:
Samples:
Other changes and fixes:
Objdetect module:
Core module:
Imgproc module:
- Add StackBlur for imgproc#20379
- Various performance optimizations
Multimedia:
- FFmpeg 5.x support.
- Hardware accelerated video codecs support on NVIDIA platforms with modern Video Codec SDK (NVCUVID and NVENCODEAPI).
- CV_16UC1 read/write video support with FFmpeg.
- Orientation meta support on Mac with native media API.
- New iterator-based API for multi-page image formats.
- libSPNG support for PNG format.
- SIMD acceleration for self-built libJPEG-Turbo
- H264/H265 support on Android. Multiple fixes for video decoder, endcoder and camera memory layout.

- And many other contributions!
opencv (109 contributors)
git shortlog --no-merges -ns 4.6.0..4.7.0 54 Alexander Alekhin 34 Zihao Mu 22 TolyaTalamanov 21 Alexander Smorkalov 18 Andrey Senyaev 16 HAN Liutong 14 fengyuentau 11 cudawarped 10 Vincent Rabaud 9 catree 8 zoom 7 AleksandrPanov 7 Maksim Shabunin 7 SergeyIvanov87 7 ocpalo 6 zihaomu 5 Tomoaki Teshima 4 @lizhiyu3 4 Biswapriyo Nath 4 Christine Poerschke 4 Dan Mašek 4 Dmitry Matveev 4 Giles Payne 4 Markus Heck 4 Stefan Spiss 4 Vadim Levin 4 Yuantao Feng 4 rogday 3 Anatoliy Talamanov 3 Berke 3 Dan 3 Dmitry Kurtaev 3 Matej Jeglic 3 Pavel Rojtberg 3 Rong Mantle Bao 3 Sergei Shutov 3 Smirnov Egor 3 Suleyman TURKMEN 2 Alex 2 Alexander Panov 2 Amir Hassan 2 Ed J 2 Eran Geva 2 Juha Reunanen 2 Kumataro 2 Rostislav Vasilikhin 2 Sean McBride 2 Stefan Dragnev 2 dan 2 fwcd 2 hzc 2 hzcyf 2 kallaballa 2 lamm45 2 xiong-jie-y 1 AlejandroSilvestri 1 Alessandro de Oliveira Faria (A.K.A. CABELO) 1 Alexey Smirnov 1 Andrew Chinery 1 CSBVision 1 ClayXrex 1 Daisuke Mizobuchi 1 David Geldreich 1 Dmtiry Matveev 1 Egor Smirnov 1 Hao Chen 1 Harvey 1 Harvey Huang 1 Hashem Zavvari 1 Henrik Dobbe Flemmen 1 Hyunggi Chang 1 Jochen Sprickerhof 1 Joel Winarske 1 JopKnoppers 1 Kian Eliasi 1 Kôtaro Mukai 1 Long Nguyen 1 Lucas Yang 1 Lukas Weber 1 MENG Yu 1 Marco Feuerstein 1 Mateusz Tabaka 1 Maxim Milashchenko 1 Michael Gruner 1 Michael Klatis 1 Parthiban Marimuthu 1 Petr Glotov 1 Philipp Hutterer 1 Povilas Kanapickas 1 Ramiro Silveyra d'Avila 1 Tomasz Ożański 1 Vadim Pisarevsky 1 Voron 1 Wanli 1 Yulv-git 1 Zhuo Zhang 1 alessandro faria 1 anton 1 augustinmanecy 1 gbowser3@gmail.com 1 heavyrain-lzy 1 lgx 1 robin 1 scorpiozj 1 scottchou007 1 su77ungr 1 wxsheng 1 xiang.zhang 1 赵楚洋opencv_contrib (31 contributors)
git shortlog --no-merges -ns 4.6.0..4.7.0 44 AleksandrPanov 17 James Bowley 15 Sergei Shutov 5 Alexander Alekhin 5 Your Name 4 Yannis Guyon 4 sitong lian 3 Alexander Smorkalov 3 Andrey Senyaev 2 Aleksandr Panov 2 Biswapriyo Nath 2 Kevin Christensen 2 Suleyman TURKMEN 2 Vincent Rabaud 2 fengyuentau 1 Augustin Manecy 1 Benjamin Buch 1 David Geldreich 1 Gary Allen 1 Giles Payne 1 Iago Suárez 1 Jochen Sprickerhof 1 Kishor 1 Kumataro 1 Mathijs de Groot 1 Pavel Procopiuc 1 Ping Wu 1 Tomoaki Teshima 1 Zhanbo Huang 1 huangqinjin 1 jmackay2December, 2022
OpenCV 3.4.19 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.7.0.
Long-lived OpenCV 3.x release series is here since 2015. We are going to reduce support of 3.x branch in the future to move forward to OpenCV 5.0.
June, 2022
The summer update for OpenCV 4.x has been released.
Credits:
- OpenCV China team for the new hardware for CI Build Farm.
- @alalek, @asenyaev, @fengyuentau for great work on OpenCV CI migration to Github Actions
Highlights of this release:
OpenCV project infrastructure migrating on GitHub Actions workflows for CI and release purposes
Added support for GCC 12, Clang 15
Added support for FFmpeg 5.0

DNN modulepatches:
Improved layers / activations / supported more models:
- LSTM (+CUDA), resize (+ONNX13), Sign, Shrink, Reciprocal, depth2space, space2depth
- fixes in Reduce, Slice, Expand
Disabled floating-point denormals processing#21521
Changed layer names in ONNX importer to support "output" entities properly
Added TIM-VX NPU backend support:https://github.com/opencv/opencv/wiki/TIM-VX-Backend-For-Running-OpenCV-On-NPU
Added Softmax parameter to ClassificationModel
Added audio speech recognition sample (C++)#21458
Intel® Inference Engine backend (OpenVINO™ ):
- added initial support for OpenVINO 2022.1 release
- removed support of legacy API (dropped since 2020.3)

G-API module:
G-API framework:
- Introduced a Grayscale image format support for
cv::MediaFrame:#21511; - Enabeled
.reshape()support in the CPU backend:#21669; - Fixed possible hang in streaming execution mode with constant inputs:#21567;
- Introduced proper error/exception propagation in the asynchronous streaming execution mode:#21660;
- Fixed new stream event handling:#21731.
- Introduced a Grayscale image format support for
Fluid backend:
- Fixed horizontal pass in the Resize kernel, fixed Valgrind issues:#21144;
- Extended Resize kernel with F32 version:#21678, added AVX:#21728.
- Enabled dynamic dispatch for Split4 kernel:#21520;
- Enabled dynamic dispatch for Merge3 kernel:#21529;
- Added a SIMD version for DivC kernel:#21474;
- Added a SIMD version for DivRC kernel:#21530;
- Enabled dynamic dispatch for Add kernel:#21686;
- Enabled dynamic dispatch for Sub kernel:#21746;
- Added a SIMD version for ConvertTo kernel:#21777;
- Fixed kernel matrix size for Sobel kernel:#21613.
OpenCL backend:
Intel® OpenVINO™ inference backend:
OpenCV AI Kit backend:
- Introduced a new backend to programOpenCV AI Kit boards via G-API. Currently the backend is in experimental state, but allows to build Camera+NN pipeline and supports heterogeneity (mixing with host-side code):#20785,#21504.
Media integration:
- Enabled GPU inference with oneVPL and DirectX11 on Windows in Intel® OpenVINO™ inference backend:#21232,#21618,#21658,#21687,#21688. Now GPU textures decoded by oneVPL decoder can be preprocessed and inferred on GPU with no extra host processing.
- Enabled oneVPL support on Linux:#21883.
- Extended GStreamer pipeline source with Grayscale image format support:#21560.
Python bindings:
- Exposed GStreamer pipeline source in Python bindings:#20832.
- Fixed Python bindings for CudaBufferPool, cudacodec and cudastereo modules in OpenCV Contrib.
Samples:
Other changes and fixes:
- Moved
GKernelPackageintocv::namespace by default, itscv::gapi::alias remain for compatibility:#21318; - Moved Resize kernel from core to imgproc kernel packages for CPU, OpenCL, and Fluid backends:#21157. Also moved tests appropriately:#21475;
- Avoided sporadic test failures in DivC:#21626;
- Fixed 1D Mat handling in the framework:#21782;
- Reduced the number of G-API generated accuracy tests:#21909.
- Moved

And many other contributions, including:
opencv (92 contributors)
git shortlog --no-merges -ns 4.5.5..4.6.0 58 Alexander Alekhin 19 Andrey Senyaev 11 Suleyman TURKMEN 10 Anna Khakimova 10 Maksim Shabunin 9 rogday 8 Anatoliy Talamanov 7 Vadim Levin 7 Vincent Rabaud 6 Aleksei Trutnev 6 Sergey Ivanov 4 Victor 4 Yuantao Feng 4 Zihao Mu 3 Dmitry Budnikov 3 Kataev Victor 3 Kumataro 3 Pierre Chatelier 3 Trutnev Aleksei 3 berak 3 cudawarped 3 fengyuentau 2 Alexander Smorkalov 2 Alexey Smirnov 2 Christine Poerschke 2 HAN Liutong 2 Harvey 2 Lukas-Alexander Weber 2 OpenCV Developers 2 Smirnov Egor 2 Stefano Allegretti 2 Tsukasa Sugiura 2 Yulv-git 2 Yuriy Chernyshov 2 lamm45 2 luz paz 2 pkubaj 1 Alexander Conner 1 Alexander Panov 1 Anastasiya(Asya) Pronina 1 Artem Saratovtsev 1 Chen Jun 1 Christoph Rackwitz 1 David Fan 1 Ed Martin 1 Egor Smirnov 1 Giles Payne 1 Greg Fiumara 1 Guillaume Gigaud 1 Ilya Churaev 1 Ilya Lavrenov 1 Jan Polák 1 Jeremy Ephron 1 Joe Howse 1 Joona Heikkilä 1 Juan López Rubio 1 Julian Szigethy 1 KaurkerDevourer 1 LaurentBerger 1 Lukas Yoder 1 Manolis Lourakis 1 Martin Tůma 1 Maxim Pashchenkov 1 Namgoo Lee 1 Oguzhan Guclu 1 Pavel Rojtberg 1 Phil Ruffwind 1 Qingnan Duan 1 Ruslan Garnov 1 Sean McBride 1 Sergey 1 Sinitsina Maria 1 Stefan Brüns 1 Stefan Dragnev 1 Tatsuro Shibamura 1 Yash Singhal 1 Yusuke Kameda 1 Zach Lowry 1 Zhuo Zhang 1 dbudnikov 1 eplankin 1 h6197627 1 hellodoge 1 huangziqing 1 luzpaz 1 masa-iwm 1 mohawk2 1 shengwenxue 1 sivanov-work 1 xiong-jie-y 1 xiongzhen 1 zihaomuopencv_contrib (23 contributors)
git shortlog --no-merges -ns 4.5.5..4.6.0 11 cudawarped 6 Alexander Panov 5 Suleyman TURKMEN 4 Andrey Senyaev 3 AleksandrPanov 3 Alexander Alekhin 2 Pavel Rojtberg 2 Vincent Rabaud 1 Aditya Mehrotra 1 Aleksandr Panov 1 Alexander Smorkalov 1 Dan 1 Dan Oprea 1 Matti Jukola 1 Mitul Vekariya 1 Namgoo Lee 1 Ninh Huynh 1 Pranay Pandit 1 Simon Traub 1 Stefano Allegretti 1 huangziqing 1 leatherwang 1 مهدي شينون (Mehdi Chinoune)June, 2022
OpenCV 3.4.18 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.6.0.
Long-lived OpenCV 3.x release series is here since 2015. We are going to reduce support of 3.x branch in the future to move forward to OpenCV 5.0.
December, 2021
New Year's update for OpenCV 4.x has been released.
Highlights of this release:
Audio support as part of VideoCapture API:MSMF #19721 +GStreamer #21264
Updated SOVERSION handling rules:#21178

DNN modulepatches:

G-API module:
G-API framework:
Fluid backend:
- Introduced a better vectorized version of Resize:#20664.
- Added vectorized version of Multiply kernel:#21024;
- Added vectorized version of Divide kernel:#20914;
- Added vectorized version of AddC kernel:#21119;
- Added vectorized version of SubC kernel:#21158;
- Added vectorized version of MulC kernel:#21177;
- Added vectorized version of SubRC kernel:#21231;
- Enabled SIMD dispatching for AbsDiffC:#21204;
OpenCL backend:
- Fixed sporadic test failures in Multiply kernel running on GPU:#21205;
Intel® OpenVINO™ inference backend:
Media integration:
Samples:
Other changes and fixes:
- Fixed various static analysis issues for OpenVINO 2021.4 release:#21083 and#21212;
- Fixed various build warnings introduced after OpenVINO update:#20937;
- Continued clean-up in the G-API test suite on GTest macros#20922 and test data#20995;
- Added custom accuracy comparison functions to Fluid performance tests:#21150.

And many other contributions:
Added QRcode encoder:#17889
GSoC - OpenCV.js: Accelerate OpenCV.js DNN via WebNN:#20406
Add conventional Bayer naming:#20970
(opencv_contrib) Add Radon transform function to ximgproc:#3090
(opencv_contrib) New superpixel algorithm (F-DBSCAN):#3093
Created Stitching Tool:#21020
Improve CCL with new algorithms and tests:#21275
(opencv_contrib) Update ArUco tutorial:#3126
opencv (77 contributors)
git shortlog --no-merges -ns 4.5.4..4.5.5 80 Alexander Alekhin 14 Smirnov Egor 8 Anna Khakimova 8 Sergey Ivanov 6 Maksim Shabunin 6 Trutnev Aleksei 6 Vincent Rabaud 6 rogday 5 Christian Clauss 3 APrigarina 3 Anatoliy Talamanov 3 Harvey 3 Maxim Pashchenkov 3 MaximMilashchenko 2 AleksandrPanov 2 Andrey Senyaev 2 Gruhuang 2 HAN Liutong 2 Orest Chura 2 Sinitsina Maria 2 UncleLLD 2 Zhuo Zhang 2 alessandro faria 2 nickjackolson 1 ABHINAV JHA 1 Anastasiya Pronina 1 Anastasiya(Asya) Pronina 1 Andrew Ryrie 1 Chengrui Wang 1 Fabrice Fontaine 1 Hanxi Guo 1 Ihsan Soydemir 1 Jonathan Dönszelmann 1 Jong Sin Kim 1 Julie Bareeva 1 Lukas Weber 1 Lukas-Alexander Weber 1 Maxim Milashchenko 1 Michael Davis 1 Michel Promonet 1 Nicholas Ho 1 Nikolaos Pappas 1 Noah Stier 1 OrestChura 1 Patrick Whalen 1 Piotr Kubaj 1 Polina Smolnikova 1 Qiushi Zheng 1 Rostislav Vasilikhin 1 Ruan 1 SegaraRai 1 Sergiu Deitsch 1 ShuangLiu1992 1 Simon Wilson 1 Souriya Trinh 1 Stanislaw Halik 1 Stefano Allegretti 1 Suleyman TURKMEN 1 Supernovae 1 Tejas M R 1 Wehzie 1 ZaKiiiiiiiii 1 atrutnev 1 berak 1 catree 1 cpengu 1 cqn2219076254 1 cudawarped 1 dwardor 1 eplankin 1 icestraw 1 jcong 1 shengyu 1 tv3141 1 utibenkei 1 yuki takehara 1 zcxopencv_contrib (25 contributors)
git shortlog --no-merges -ns 4.5.4..4.5.5 6 Alexander Smorkalov 4 Suleyman TURKMEN 2 Kumataro 2 Pavel Rojtberg 2 Sergiu Deitsch 1 Alberto Luaces 1 Aleksandr Panov 1 AleksandrPanov 1 Alexander Alekhin 1 Julie Bareeva 1 Noah Stier 1 Onuralp SEZER 1 Pranay 1 Qingnan Duan 1 Rostislav Vasilikhin 1 Saurabh Khanduja 1 Sérgio M. Basto 1 ToFam 1 Tomoaki Teshima 1 TracelessLe 1 Vincent Rabaud 1 Your Name 1 cudawarped 1 scloke 1 クロポDecember, 2021
OpenCV 3.4.17 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.5.5.
Long-lived OpenCV 3.x release series is here since 2015. We are going to reduce support of 3.x branch in the future to move forward to OpenCV 5.0.
October, 2021
The fall update for OpenCV 4.x has been released.
Highlights of this release:
- GSoC 2021 is over. 11 projects are successful, and most of the results are already merged into OpenCV tree and available in 4.5.4 (in the main repository or in opencv_contrib). Here is the list of merged functionality:
- 8-bit quantization in DNN Module:#20228 + onnx importer#20535
- Improved OpenCV bindings for Julia:opencv_contib#3009
- Speech recognition sample:#20291
- Optimizing OpenCV DNN for RISC-V:#20287 +#20521
- Tutorial for Universal Intrinsics and parallel_for_ for efficient cross-platform algorithm implementation:#20361

DNN modulepatches:
Improved layers / activations / supported more models:
- GRU,CumSum,Max,Min,ExpandDims
- Fixed convolution with asymmetric padding
- Fixed Unsqueeze (ONNX opset 13)
- Fixed several memory access issues in OpenCL kernels
Implement CTC prefix beam search decode for TextRecognitionModel:#20524
Added SoftNMS implementation:#20813
Intel® Inference Engine backend (OpenVINO™ ):
- added support for OpenVINO 2021.4.1 LTS release
- added support for models with non-FP32 outputs or for outputs with 1D layout

G-API module:
G-API framework:
- Introduced generic visitor(s) for the G-API's own implementation of
variant<>data structure:#20039. - Introduced a full-featured graph reshape support for the heterogeneous graphs:#20705.
- Fixed
cv::RMathandling in the regular execution mode:#20593. - Fixed
cv::RMatand introducedcv::MediaFramehandling with thedesync()operation:#20747.
- Introduced generic visitor(s) for the G-API's own implementation of
OpenVINO™ Toolkit backend:
- Introduced FP16 data type support in the OpenVINO™ inference backend:#20490.
- Fixed issues with incorrect precision and preprocessing options set for imported binary network blobs:#20528;
- Fixed issue with possible extra external resources being held during the inference execution, causing hangs at some platforms (e.g. with GStreamer memory in):#20791.
Python bindings:
Serialization:
Media integration:
- Merged the first bits of the upcomingoneVPL integration for accelerated Media on Windows;
Samples and demos:
- Added various graph-level optimizations to the MTCNN demo:#20383,#20474;
- Extended the Semantic Segmentation demo with new type of networks (
unet-camvid-onnx-0001):#20476; - Fixed various issues in the Python port of the gaze estimation demo:#20510.
Other changes and fixes:

And many other contributions:
Add DNN-based face detection and face recognition into modules/objdetect:#20422
Restore LineSegmentDetector (LSD) implementation
Python:
cv.Matwrapper over numpy.ndarray is introduced to handle issues with passing of 3D arrays into C++ algorithms:#19091Python: support OpenCV extension with pure Python modules:#20611
Debugging: Add gdb pretty printer for cv::Mat:#20547
Add Quicklook for Mat on iOS and macOS:#20457
Add generation of new type of radon checkerboard:#20735
opencv (76 contributors)
git shortlog --no-merges -ns 4.5.3..4.5.4 53 Alexander Alekhin 10 Smirnov Egor 9 Anatoliy Talamanov 8 rogday 7 Sergey Ivanov 6 AleksandrPanov 6 Suleyman TURKMEN 5 Alexander Panov 5 Dale Phurrough 5 Giles Payne 5 SamFC10 4 Julia Bareeva 4 Vadim Levin 3 Dmitry Budnikov 3 HAN Liutong 2 Alexander Smorkalov 2 Alexey Smirnov 2 Francesco Petrogalli 2 Iyad Ahmed 2 Jonas Vautherin 2 Maxim Pashchenkov 2 Stanislaw Halik 2 Vincent Rabaud 2 WJJ1995 2 YashasSamaga 2 Zhuo Zhang 2 Zihao Mu 2 berak 2 thezane 1 Abhinav Sharma 1 Amir Tulegenov 1 Cavendish-Koo 1 César Gouveia 1 Daniel Playfair Cal 1 Dmitriy Fishman 1 Duong Dac 1 Hamdi Sahloul 1 Ilya Lavrenov 1 JIANG Yichen 1 Jannik Bamberger 1 Jebastin Nadar 1 Lukas-Alexander Weber 1 Mahendra Kumar 1 Nicholas Ho 1 Nicolai Behmann 1 Oliver Kuckertz 1 Pablo Romero 1 Parsa 1 Rohit Sutradhar 1 Roland Meertens 1 Ruben Gonzalez 1 Ruslan Garnov 1 Saikat Nanda 1 Saša Bajtl 1 Scott Noyes 1 Shivanshu Tyagi 1 Shreyas Taware 1 Smirnov Alexey 1 Tomoaki Teshima 1 Tsukasa Sugiura 1 Xerxes Battiwalla 1 Xiaoxiao Tian 1 Xinguang Bian 1 Yaniv Hollander 1 Yuantao Feng 1 Zhang Yin 1 ZhangYin 1 easonycwang 1 fortemSteve 1 keroiber 1 kikaxa 1 mikael 1 shengyu 1 utibenkei 1 xhawk18 1 zypopencv_contrib (16 contributors)
git shortlog --no-merges -ns 4.5.3..4.5.4 4 Suleyman TURKMEN 2 Alexander Alekhin 2 Archit Rungta 2 Yoshiaki Sato 2 cudawarped 1 Andreas Franek 1 Artem Saratovtsev 1 Gokberk Gul 1 Paul Jurczak 1 Pavel Rojtberg 1 Shahnawaz Ahmed 1 Stephen McDowell 1 Tomoaki Teshima 1 Vadim Levin 1 WN90 1 kuloPoOctober, 2021
OpenCV 3.4.16 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.5.4.
Long-lived OpenCV 3.x release series is here since 2015. We are going to reduce support of 3.x branch in the future to move forward to OpenCV 5.0.
July, 2021
Summer update for OpenCV 4.x has been released.
Highlights of this release:
highgui: added support for UIbackends. Special OpenCV builds allow to select UI backend and/or load it dynamically through plugins.
videoio: supported UMat/OpenCL hardware-accelerated video decoding/encoding throughFFmpeg backend.
video:DaSiamRPN tracker is implemented as OpenCV algorithm.

DNN module:

G-API module:
Python support:
- Introduced a new Python Operation API: now G-API can be extended with new graph operations in Python directly:#19982;
- Extended Python bindings with more G-API confuration options: specifying arbitrary number of NN models for the pipeline (#20157), graph compile arguments (#20196).
- Exposed more G-API operations in Python bindings:
parseSSD,parseYolo,copy,timestamp,seq_id(#20271).
Inference support:
Operations:
- Added Transpose operation (#20107);
- Fixed a possible ambiguous overload problem in
parseSSDoperation.
Demos:
- Introduced a MTCNN object detection demo. This demo highlights how to combine Deep Learning with a non-trivial user-defined pre- and post-processing in G-API:#19923;
Other changes:
- Added a new graph compile option to specify the internal queue capacity in the Streaming mode -- this option may be used to fine-tune the execution behavior from a throughput-oriented (default) to a latency oriented mode:#20119;
- Added ITT instrumentation in the Streaming executor -- now different parts of the pipeline execution can be highlited in the Intel® VTune™ Profiler.
- Fixed issue with passing empty data inputs to the graph:#20184.
Documentation:

Documentation:
- Updated documentation to address plugin support modes / build options:#20194

And many other great contributions from OpenCV community:
opencv (76 contributors)
git shortlog --no-merges -ns 4.5.2..4.5.3 46 Alexander Alekhin 10 Giles Payne 9 Anatoliy Talamanov 7 Smirnov Egor 6 Maxim Pashchenkov 5 Dmitry Budnikov 5 Maksim Shabunin 5 berak 4 Danny 4 Ian Maquignaz 4 Tiago De Gaspari 2 APrigarina 2 Alexander Smorkalov 2 Alexey Smirnov 2 Anna Prigarina 2 Dale Phurrough 2 Developer-Ecosystem-Engineering 2 Francesco Petrogalli 2 Joe Howse 2 Kai Stüdemann 2 SamFC10 2 Sergey Ivanov 2 Suleyman TURKMEN 2 Vincent Rabaud 2 danielenricocahall 2 rogday 1 103yiran 1 Aaron Greig 1 Aleksandr Voron 1 Alex Kalmuk 1 Anastasiya Pronina 1 Andreas Franek 1 Andrei Costinescu 1 Antonio Rojas 1 CSBVision 1 Christoph Rackwitz 1 David Geldreich 1 Dmitry Matveev 1 Florian Berchtold 1 Guillaume Jacob 1 HAN Liutong 1 Harald Scheirich 1 HattrickGenerator 1 Ilya Lavrenov 1 Jake Staahl 1 Jason 1 JoeHowse 1 Jonathan Deakin 1 Lukas-Alexander Weber 1 Maksym Ivashechkin 1 Mary Strodl 1 Mikhail Nikolskii 1 Nathan Hartman 1 Nikolay Polyarniy 1 Paul Jurczak 1 Pinaev Danil 1 Quella Zhang (Beyondsoft Corporation) 1 Rafael H Tibães 1 Stefano Allegretti 1 Vladimir 1 Xinguang Bian 1 YashasSamaga 1 Zhuo Zhang 1 catree 1 changh95 1 damonyu1989 1 deniz.aksayli 1 hyrodium 1 jiangjiajun 1 jogo- 1 kikaxa 1 micha137 1 mitruska 1 thezane 1 xzvno 1 yo1990opencv_contrib (20 contributors)
git shortlog --no-merges -ns 4.5.2..4.5.3 4 Alexander Alekhin 3 Suleyman TURKMEN 2 DumDereDum 2 Ivar Clemens 2 Pavel Rojtberg 2 Smirnov Egor 2 Vincent Rabaud 2 berak 1 Aleksandr Patsekin 1 Archit Rungta 1 Artem Saratovtsev 1 David Forrest 1 Frank Dana 1 Junhao Liang 1 Killer_Quinn 1 TT 1 channings 1 pathbreak 1 scloke 1 shimatJuly, 2021
OpenCV 3.4.15 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.5.3.
Long-lived OpenCV 3.x release series is here since 2015. We are going to reduce support of 3.x branch in the future to move forward to OpenCV 5.0.
April, 2021
Spring update for OpenCV 4.x has been released.
Highlights of this release:
core: added support for parallelbackends. Special OpenCV builds allow to select parallel backend and/or load it dynamically throughplugins
imgproc: addedIntelligentScissors implementation (JS demo). The feature is integrated intoCVAT annotation tool and you can try it online onhttps://cvat.org
videoio:improved hardware-accelerated video decoding/encoding tasks.Wiki page

DNN module:
Improved debugging of TensorFlow parsing errors:#19220
Improved layers / activations / supported more models:
- optimized: NMS processing, DetectionOutput
- fixed: Div with constant, MatMul, Reshape (TensorFlow behaviour)
- added support: Mish ONNX subgraph, NormalizeL2 (ONNX), LeakyReLU (TensorFlow), TanH (Darknet), SAM (Darknet), Exp
Intel® Inference Engine backend (OpenVINO™ ):
- added support for OpenVINO 2021.3 release

G-API module:
Python support:
Inference support:
- Introduced dynamic input / CNN reshape functionality in the OpenVINO inference backend#18240;
- Introduced asynchronous execution support in the OpenVINO inference backend, now inference can run in multiple requests in parallel to increase stream density/throughput:#19487,#19425;
- Extended supported data types with INT64/INT32 in ONNX inference backend and with INT32 in the OpenVINO inference backend#19792;
- Introduced
cv::GFrame/cv::MediaFrameand constant support in the ONNX backend:#19070;
Media support:
- Introduced
cv::GFrame/cv::MediaFramesupport in the drawing/rendering interface:#19516; - Introduced multi-stream input support in Streaming mode and frame synchronization policies to support cases like Stereo:#19731;
- Added
YandUVoperations to access NV12 data ofcv::GFrameat the graph level; conversions are done on-the-fly if the media format is different:#19325;
- Introduced
Operations and kernels:
Other various static analysis and warning fixes;

Documentation:

And many other great contributions from OpenCV community:
core: add cuda::Stream constructor with cuda stream flags:#19286
highgui: expose VSYNC window property for OpenGL on Win32:#19408
highgui: pollKey() implementation for w32 backend:#19411
imgcodecs: Added Exif parsing for PNG:#19439
imgcodecs: OpenEXR compression options:#19540
imgproc: connectedComponents optimizations: (Spaghetti Labeling):#19631
videoio: Android NDK camera support#19597
(opencv_contrib) WeChat QRCode module open source:#2821
(opencv_contrib) Implemented cv::cuda::inRange():#2803
(opencv_contrib) Added algorithms from Edge Drawing Library:#2313
(opencv_contrib) Added Python bindings for Viz module:#2882
opencv (92 contributors)
git shortlog --no-merges -ns 4.5.1..4.5.2 97 Alexander Alekhin 14 Anatoliy Talamanov 13 Maksim Shabunin 9 Dale Phurrough 8 Liubov Batanina 7 Alexander Smorkalov 7 Anastasia M 7 Maxim Pashchenkov 6 Orest Chura 5 Anastasia Murzova 4 LaurentBerger 4 Rachel A 4 Tomoaki Teshima 4 Zhuo Zhang 3 Christoph Rackwitz 3 Giles Payne 3 OrestChura 3 Qoo 3 Ruslan Garnov 3 SamFC10 3 Vitaly Tuzov 2 APrigarina 2 Aaron Greig 2 Amir Tulegenov 2 Anastasiya Pronina 2 Anna Khakimova 2 Dan Ben Yosef 2 Dan Ben-Yosef 2 Dmitry Budnikov 2 Francesco Petrogalli 2 Ilya Lavrenov 2 Liangqian 2 Mikhail Nikolskii 2 Sayed Adel 2 Suleyman TURKMEN 2 Vadim Levin 2 WeiChungChang 2 YashasSamaga 1 Alexander Reynolds 1 Alexey Smirnov 1 Andrey Golubev 1 Anton Potapov 1 Aryansh Omray 1 Cuntian Liu 1 Daniel Playfair Cal 1 Federico Bolelli 1 Federico Martinez 1 Grégoire Piffault 1 Ian Maquignaz 1 Igor Murzov 1 Ilya Churaev 1 Ixarias 1 Jebastin Nadar 1 Jonathan Deakin 1 Justin Chu 1 Kun Liang 1 Larry Wei 1 Liangda-w 1 Lukas-Alexander Weber 1 Mark Harfouche 1 Matt Alvarado 1 MaximMilashchenko 1 Mieszko Boczkowski 1 Mradul Agrawal 1 Namgoo Lee 1 Nicola Landolfi 1 Olivier Le Doeuff 1 Pavel Rojtberg 1 Polina Smolnikova 1 Ruan 1 Sergei Slashchinin 1 Sergey Krivohatskiy 1 Sergey Slashchinin 1 Smirnov Alexey 1 Stefan Dragnev 1 Tsukasa Sugiura 1 Vincent Rabaud 1 Xinguang Bian 1 Your Name 1 ZhM 1 Ziachnix 1 aDanPin 1 amir.tulegenov 1 cyy 1 eplankin 1 krush11 1 kyshel 1 lionkun 1 mznw 1 notmatthancock 1 shioko 1 the-sparrowopencv_contrib (30 contributors)
git shortlog --no-merges -ns 4.5.1..4.5.2 8 Tomoaki Teshima 7 dddzg 5 Pavel Rojtberg 4 Alexander Alekhin 2 DumDereDum 2 LaurentBerger 2 Vadim Pisarevsky 1 Aaron Miller 1 Atlas42 1 Dimitrios Psychogyios 1 Jan-Kristian Herring 1 Kévin Andrieux 1 MrKepzie 1 Namgoo Lee 1 Roman Golovanov 1 Rostislav Vasilikhin 1 Stefan Brechtken 1 Suleyman TURKMEN 1 Sun Aries 1 Tobias Senst 1 Ubuntu 1 Vishal Chiluka 1 Yahui Wang 1 aaarthurliu 1 amir.tulegenov 1 arsaratovtsev 1 batters21 1 berak 1 chester 1 dzyGITApril, 2021
OpenCV 3.4.14 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.5.2.
December, 2020
New Year's update for OpenCV 4.x has been released.
Highlights of this release:
OpenCV repository reached over50k stars on GitHub: Thank you to all for your contribution in this great project!
Continued merging ofGSoC 2020 results:
Develop OpenCV.js DNN modules for promising web use cases together with their tutorials (#18064)
OpenCV.js: WASM SIMD optimization 2.0 (#18068)
High Level API and Samples for Scene Text Detection and Recognition (#17570). The samples use the algorithms and the separately downloaded pre-trained models introduced in the following papers:
- "Real-time Scene Text Detection with Differentiable Binarization". Liao, Minghui and Wan, Zhaoyi and Yao, Cong and Chen, Kai and Bai, Xiang. Proc. AAAI, 2020.
- "An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition". Shi, Baoguang and Bai, Xiang and Yao, Cong. IEEE transactions on pattern analysis and machine intelligence, 2016.
SIFT: SIMD optimization of GaussianBlur 16U (#18983)

DNN module:
Improved layers / activations / supported more models:
- optimized: 1D convolution, 1D pool
- fixed: Resize, ReduceMean, Gather with multiple outputs, importing of Faster RCNN ONNX model
- added support: INT32 ONNX tensors
Intel® Inference Engine backend (OpenVINO™ ):
- added support for OpenVINO 2021.2 release
- added preview support for HDDL
Fixes and optimizations in DNN CUDA backend (thanks to@YashasSamaga):PRs

G-API module:
G-API Framework:
- Introduced serialization for
cv::RMat, including serialization for user-defined memory adapters (#18584); - Introduced
desync, a new Operation for in-graph asynchronous execution - to allow different parts of the graph run with a different latency (#18673); - Introduced a notion of "in-graph metadata" (#18793), now various media-related information can be accessed in graph directly (currently only limited to timestamps and frame IDs);
- Introduced a new generic task-based executor, based on Threading Building Blocks (TBB) (#17851);
- Extended
infer<>()API to accept a newcv::GFramedata structure to allow handling of various media formats without changes in the graph structure (#19002); - Made
copy()an intrinsic where real copy may not happen (optimized out) based on graph structure, extended it to supportcv::GFrame(#19009), (#19112); - Various fixes, including addressig static analysis, documentation, and test issues;
- Introduced serialization for
G-API Operations:
Intel® Inference Engine backend (OpenVINO™ ):
- Extended
cv::gapi::ie::Params<>to import CNN networks (e.g. pre-compiled ones) instead of passing .XML and .BIN files (#18542); also enabled configuring Inference Engine plugins via this structure (#18701); - Added a new overload to
infer<>()to run inference over a single region of interest (#18673); - Added support for
cv::MediaFrameinput data type (projected fromcv::GFrame) and handling for NV12 input image format (#19002);
- Extended
Microsoft® ONNX Runtime backend:
- Introduced a new inference backend, powered by Microsoft ONNX Runtime (#18716), followthis instruction to enable ONNX Runtime support in G-API;
Python bindings:

Significant progress on RISC-V port.
- much more complete RISC-V backend ofuniversal intrinsics has been contributed by Yin Zhang from ISCAS. It is based on the latest RVV (RISC-V vector extension) 0.9.


And many other great contributions from OpenCV community:
objdetect: Detection and decoding of curved QR-codes:#18003
calib3d: Added SQPnP algorithm to SolvePnP:#18371
stitching: add warpPointBackward to warpers:#18607
stitching: support similarity masks:#18624
stitching: add WAVE_CORRECT_AUTO: #18646
(opencv_contrib) Color Calibration Algorithm Implementation Revised:#2671
(opencv_contrib) Tbmr features (purely topological adaptation on MSER):#2713
(opencv_contrib) Added Python wrapping and documentation for alphamat module:#2729
video: added definition of Tracking API with ported GOTURN and MIL trackers from opencv_contrib:18838
(opencv_contrib) Add libSGM into cudastereo:#2772
(opencv_contrib) Add BEBLID local feature descriptor:#2774
opencv (88 contributors)
git shortlog --no-merges -ns 4.5.0..4.5.1 87 Alexander Alekhin 10 Anatoliy Talamanov 8 Ruslan Garnov 6 Dmitry Matveev 6 Maksim Shabunin 6 Orest Chura 5 Jonathan Cole 5 Sergei Slashchinin 4 Anna Khakimova 4 Anton Potapov 4 Giles Payne 4 Igor Murzov 4 Maxim Pashchenkov 4 Vincent Rabaud 3 Alexander Smorkalov 3 Anastasia Murzova 3 Dale Phurrough 3 Ian Maquignaz 3 Liubov Batanina 2 Aitik Gupta 2 Anastasiya Pronina 2 Chris Ballinger 2 OrestChura 2 Quentin Chateau 2 Roman Kazantsev 2 Sergey Slashchinin 2 Steffen Urban 2 Welton Rodrigo Torres Nascimento 2 catree 2 mtfrctl 1 APrigarina 1 Alexey Smirnov 1 Andreas Franek 1 Anton Veselskyi 1 AsyaPronina 1 Christos Malliaridis 1 Clement Courbet 1 Daniel Cauchi 1 Daniel Motilla 1 Dmitry Budnikov 1 Felix Gorschlüter 1 Francesco Petrogalli 1 Gabriel Nascarella Hishida 1 Hollow Man 1 Jack·Boos·Yu 1 Jaime Rivera 1 Jiri Kucera 1 Joe 1 Jojo R 1 Jose Quaresma 1 Julien 1 Justin Frank 1 Kong Liangqian 1 Krushnal Patel 1 Kun Liang 1 Mark Shachkov 1 Martin Štefaňák 1 Michael Gruner 1 Mikkel Green 1 Nathan Godwin 1 Nikolai 1 Omar Alzaibaq 1 Or Avital 1 Pavel Grunt 1 Pavel Rojtberg 1 Randall Britten 1 Rob Timpe 1 Suleyman TURKMEN 1 Vadim Levin 1 Vadim Pisarevsky 1 Wenqing Zhang 1 YashasSamaga 1 Yiming Li 1 Yosshi999 1 ZhangYin 1 Zhangyin 1 Zhiming-Zeng 1 Zhiyuan Chen 1 ann 1 arodrigu 1 berak 1 chargerKong 1 joshdoe 1 junxnone 1 lizz 1 masa-iwm 1 maxint 1 shiokoopencv_contrib (23 contributors)
git shortlog --no-merges -ns 4.5.0..4.5.1 12 Alexander Alekhin 3 DumDereDum 2 Akash Sharma 1 Enrico Ronconi 1 EricFlorin 1 Iago Suárez 1 Igor Murzov 1 Kong Liangqian 1 Kumataro 1 Matthias Berberich 1 Paul Jurczak 1 Rob Timpe 1 Shingo Otsuka 1 Steffen Urban 1 TT 1 Vincent Rabaud 1 Yuriy Obukh 1 Zhiju Cen 1 crownedone 1 cudawarped 1 riskiest 1 sunitanyk 1 unknownDecember, 2020
OpenCV 3.4.13 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.5.1.
October, 2020
The fall update of OpenCV has been released!
Highlights of this release:
- OpenCV licence has been changed to Apache 2:OE-32 - Change OpenCV License to Apache 2. Starting from OpenCV 4.5.0, all the future OpenCV 4.x and OpenCV 5.x releases will be distributed under Apache 2 license. OpenCV 3.x will keep using BSD.
- GSoC 2020 is over. It was one of the most productive GSoC "seasons"! All the projects are successful, and most of the results are already merged into OpenCV tree and available in 4.5.0 (in the main repository or in opencv_contrib). Here is the list of merged functionality:
- Better SIFT in the main repository
- Improvement of Random Sample Consensus in OpenCV#17683
- Real-time Single Object Tracking using Deep Learning:#17647
- Revise/improve Text and Digit Recognition Samples:#17675
- Optimize OpenCV for RISC-V:#17922
- (opencv_contrib): OpenCV bindings for Julia Programming Language (tutorial)
- (opencv_contrib): Implement Macbeth Chart detector and AprilTag3:#2532
- (opencv_contrib): Depth Fusion for large scale environments#2566
And here is the picture:

OpenJPEG replaces Jasper in distributed Windows packages:#18194
Added support for OpenCL multiple contexts

DNN module:
Improved layers / activations / supported more models:
- ONNX: ReduceSum, Gather, improved Reshape
Intel® Inference Engine backend (OpenVINO™ ):
- added support for OpenVINO 2021.1 release
Fixes and optimizations in DNN CUDA backend (thanks to@YashasSamaga):PRs
Our partner, OpenAI Lab, have further improved performance of OpenCV DNN on ARM using their new "Tengine lite", lighter-weight reimplementation of Tengine in C. Here is the comparative performance table (showing inference time in milliseconds for batch_size=1 on different topologies and different ARM architectures; tested on EAIDK-610):


G-API module:
Added Python bindings for the general G-API (#17493), inference and streaming support are currently in progress.
Introduced serialization API, currently limited. A graph can be serialized to a byte stream (std::vector) and then reconstructed back to a
cv::GComputationobject.OpenVINO NN backend has been moved to the latest OpenVINO "Core" APIs.
Now it is easier to declare a graph with a dynamic number of inputs or outputs (
GIn()/GOut()supportoperator+=).Added "mask", extended "convertTo" with 16S, also added performance tests on Core kernels for the Fluid backend.
Added standard NN post-processing operations like
parseYoloandparseSSDto turn NN results into a structured graph-based data format (e.g.GArray<Rect>).Added value initialization for
GArray<T>so now one can write:cv::GArray<int> arr = std::vector<int> {1,2,3 };
to associate a
cv::GArray<>with a value at graph construction stage.cv::GMatbitwise operators are extended with acv::GScalaroperand.Introduced a new graph data type
cv::GFrameand its data storage typecv::MediaFrameto start handling media-oriented formats (like NV12 or YUV images with external memory) in the graph.

And many other great contributions from OpenCV community:
flann module fixes / improvements by@pemmanuelviel:PRs
Add Robot-World/Hand-Eye calibration function:#18203
Improved build scripts to support for Apple Silicon byGiles Payne:#18094
opencv (68 contributors)
git shortlog --no-merges -ns 4.4.0..4.5.0 47 Alexander Alekhin 10 Liubov Batanina 9 Giles Payne 9 Maksim Shabunin 9 Tomoaki Teshima 8 Anatoliy Talamanov 8 Ilya Churaev 7 Orest Chura 7 Pierre-Emmanuel Viel 6 Vadim Levin 5 Namgoo Lee 5 YashasSamaga 4 Alexey Smirnov 4 Dmitry Matveev 4 Maksym Ivashechkin 4 Suleyman TURKMEN 4 Vadim Pisarevsky 4 Yosshi999 4 catree 4 kadi soheib 4 pemmanuelviel 3 Aitik Gupta 3 Ruslan Garnov 3 danielenricocahall 2 Alessandro de Oliveira Faria (A.K.A.CABELO) 2 Alexander Smorkalov 2 Anastasiya(Asya) Pronina 2 Anna Petrovicheva 2 Danny 2 Dustin Rodrigues 2 Maksim Doronin 2 Maxim Pashchenkov 2 Sergei Slashchinin 2 Yashas Samaga B L 1 Alexey Lapshin 1 AsyaPronina 1 Christoph Gringmuth 1 Dervon 1 Dmitry Kurtaev 1 Elizarov Ilya 1 Florian Jung 1 Gabriel 1 Gary Bradski 1 Gil Shotan 1 Ian Maquignaz 1 Julien 1 Mario Emmenlauer 1 Nathan Godwin 1 NesQl 1 Odianosen Ejale 1 Pavel Rojtberg 1 Peter Rekdal Sunde 1 Rafael Sadowski 1 Shubham Dhumal 1 Shubham Singh 1 Sinitsina 1 Takehiro Kajihara 1 Yikun Jiang 1 Zhangyin 1 Zihao Mu 1 dmici 1 extrowerk 1 jinyup100 1 lpea 1 nhlsm 1 or-toledano 1 zhaoyue-zephyrus 1 zhuqiang00099opencv_contrib (21 contributors)
git shortlog --no-merges -ns 4.4.0..4.5.0 4 Namgoo Lee 4 Pavel Rojtberg 4 Pierre-Emmanuel Viel 3 Archit Rungta 3 DumDereDum 3 Tomoaki Teshima 2 Dustin Rodrigues 2 Vadim Pisarevsky 2 pemmanuelviel 1 Ajit Pant 1 Alexander Alekhin 1 Elizarov Ilya 1 Gary Bradski 1 Giles Payne 1 Kumataro 1 Mary Chris Go 1 Nikita Shulga 1 arsaratovtsev 1 berak 1 cyy 1 dtmoodieOctober, 2020
OpenCV 3.4.12 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.5.0.
July, 2020
Summer update for OpenCV 4.x has been released ☀️
Highlights of this release:
- SIFT (Scale-Invariant Feature Transform) algorithm has been moved to the main repository (patent on SIFT is expired)

DNN module:
Improved layers / activations / supported more models:
New samples / demos:
Intel® Inference Engine backend (OpenVINO™ ):
added support for OpenVINO 2020.3 LTS / 2020.4 releases
support of NN Builder API is planned for removal in the next release
Many fixes and optimizations in CUDA backend (thanks to@YashasSamaga):PRs

G-API module:
- Introduced a new API for stateful kernels in OpenCV backend:
GAPI_OCV_KERNEL_ST. Stateful kernels preserve their state among the individual graph executions (in the standard more) or among the video frames of the stream (in the streaming mode). - Introduced more video-oriented operations in G-API:
goodFeaturesToTrack,buildOpticalFlowPyramid,calcOpicalFlowPyrLK. - Added few more image processing kernels: Laplacian and bilateral filters.
- Fixed a potential crash in G-API's OpenCL backend.
- Introduced a new API for stateful kernels in OpenCV backend:

And many other great contributions from OpenCV community, including, but not limited to:
Planned migration on Apache 2 license for next releasesOE-32#17491
opencv (105 contributors)
git shortlog --no-merges -ns 4.3.0..4.4.0 78 Alexander Alekhin 19 Dmitry Kurtaev 19 Liubov Batanina 19 Maksim Shabunin 19 Tomoaki Teshima 15 YashasSamaga 11 Pierre-Emmanuel Viel 9 Anton Potapov 8 Alexander Smorkalov 8 Dmitry Matveev 8 Giles Payne 8 Ilya Lavrenov 6 Vadim Pisarevsky 5 Daniel Mallia 5 Ruslan Garnov 4 Woody Chow 4 Yosshi999 4 cyy 3 Boubacar 3 Dmitry Budnikov 3 Ganesh Kathiresan 3 Maxim Pashchenkov 3 Paul Jurczak 3 Vadim Levin 3 Yashas Samaga B L 3 pemmanuelviel 2 AshihsKrShrivastava 2 Chris Ballinger 2 Ilya Churaev 2 Jan Lebert 2 Michal W. Tarnowski 2 Namgoo Lee 2 Nesterov Alexander 2 Orest Chura 2 OrestChura 2 Philippe FOUBERT 2 Pinaev Danil 2 Suleyman TURKMEN 2 jsxyhelu 1 Adam Fowles 1 Alanli 1 Aleksandr Pertovskiy 1 Alex Cohn 1 Alex Studer 1 Anastasiya 1 Anatoliy Talamanov 1 AsyaPronina 1 Bao "Mantle" Rong 1 Ben 1 Ben Li 1 Christoph 1 Conrad Poelman 1 Egor Pugin 1 Fernando Martin 1 GFleishman 1 Gourav Roy 1 Hannes Achleitner 1 Heritier Kinke 1 HowardsPlayPen 1 Jan Tojnar 1 Jason Martin 1 Jessica Wong 1 Josh Bradley 1 Ken Shirriff 1 Martin Nowak 1 Mehdi Zakaria Benadel 1 Meng Wang 1 NesQl 1 Nicolas Roduit 1 Nikita Shulga 1 Ningxin Hu 1 Pierre Chatelier 1 Polina Smolnikova 1 QIU Xiaochen 1 R-penguins 1 Rasmus 1 Rasmus Diederichsen 1 Rui Hou 1 Satya Mallick 1 Sauhaarda Chowdhuri 1 Smirnov Alexey 1 Vahid Nikoofard 1 Vitaly Tuzov 1 Xiping Yan 1 YourButterfly 1 Yuriy Obukh 1 ab-dragon 1 albert-github 1 ashishiva3@gmail.com 1 berak 1 dev-tronifier 1 dmallia17 1 hn-88 1 jackson0223 1 jasonKercher 1 jshiwam 1 jumostedu 1 mehlukas 1 okamotoR 1 shijiayuan 1 shimat 1 spectralio 1 tpoisonooo 1 tweenietomatoes 1 woody.chowopencv_contrib (27 contributors)
git shortlog --no-merges -ns 4.3.0..4.4.0 9 Tomoaki Teshima 6 Alexander Alekhin 6 Pavel Rojtberg 3 Paul Jurczak 2 Amy Tabb 2 Archit Rungta 2 Daniel Mallia 2 Namgoo Lee 2 Vishal Chiluka 2 catree 2 shimat 1 Ajit Pant 1 Akash Sharma 1 Devansh Batra 1 Jan Sellner 1 John Forrest 1 K Yasaswi Sri Chandra Gandhi 1 MaKaNu 1 Maksim Shabunin 1 Oded Green 1 QIU Xiaochen 1 Vadim Pisarevsky 1 Xavier Weber 1 archit120 1 berak 1 nosajthenitram 1 unknownJuly, 2020
OpenCV 3.4.11 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.4.0.
April, 2020
Spring update for OpenCV 4.x has been released.
Highlights of this release:

DNN module:
Improved layers / activations / supported more models:
ONNX:LSTM,Broadcasting,Algebra over constants,Slice with multiple inputs
DarkNet: grouped convolutions, sigmoid, swish, scale_channels
MobileNet-SSD v3:#16760
New samples / demos:
Intel® Inference Engine backend (OpenVINO™ ):
Many fixes and optimizations in CUDA backend (thanks to@YashasSamaga):PRs
OPEN AI LAB team submitted thepatch that accelerates OpenCV DNN on ARM using their Tengine library:

Here are theinstallation instructions

G-API module:
- Introduced a new graph-level data type
GOpaque<T>. This type can be used to pass arbitrary user data types between G-API nodes in the graph (supported for CPU/OpenCV backend only). - Introduced a way to declare G-API CPU (OpenCV) kernels in-place (example);
- Added a new sample "Privacy masking camera", combining Deep Learning with traditional Image Processing (link)
- Added more operations in the default library: WarpAffine, WarpPerspective, NV12toGray.
- Introduced a new graph-level data type

Performance improvements:

And many other great contributions from OpenCV community:
(opencv_contrib) Computer Vision based Alpha Matting (GSoC 2019)#2306
calib3d: findChessboardCornersSB improvements:#16625
calib3d: updated documentation for RT matrices:#16860
core: improved getNumberOfCPUs():#16268
imgproc: new algorithm HOUGH_GRADIENT_ALT is added to HoughCircles() function#16561. It has much better recall and precision

imgcodecs: added initial support for OpenJPEG library (version 2+):#16494
highgui(Qt): added Copy to clipboard:#16677
dnn: TensorFlow, Darknet and ONNX importers improvements by@ashishkrshrivastava:PRs
(opencv_contrib) added rapid module for silhouette based 3D object tracking:#2356
(opencv_contrib) SIFT detector is enabled by default due patents expiration (without requirement of NONFREE build option)
help materials: OpenCV Cheat Sheet in Python:#4875
Changes that can potentially break compatibility:
- image filtering functions throws exception on empty input (voting results)
opencv (90 contributors)
git shortlog --no-merges -ns 4.2.0..4.3.0 107 Alexander Alekhin 34 Liubov Batanina 22 Dmitry Kurtaev 13 Maksim Shabunin 11 YashasSamaga 8 Vadim Pisarevsky 7 Alexander Smorkalov 6 Anton Potapov 6 ashishiva3@gmail.com 5 Anatoliy Talamanov 5 Hannes Achleitner 5 Maxim Pashchenkov 4 Gourav Roy 4 Vadim Levin 4 Yashas Samaga B L 3 Alexander Duda 3 Chip Kerchner 3 Collin Brake 3 Ganesh Kathiresan 3 Julien 3 Peter Würtz 3 Sayed Adel 2 Andrey Golubev 2 Brian Wignall 2 Dizhenin Vlad 2 Dmitry Matveev 2 Ilya Lavrenov 2 Moritz Fischer-Gundlach 2 NesQl 2 Pavel Rojtberg 2 Polina Smolnikova 2 Rajkiran Natarajan 2 StefanBruens 2 berak 2 catree 2 cyy 2 hannesa2 1 Aditya Kumar 1 Alexey Smirnov 1 Andrei-Florin BENCSIK 1 Andrew Bruce 1 Arnaud Brejeon 1 Augusto Fraga Giachero 1 Christoph Schmidt-Hieber 1 Eduard Trulls 1 Elizarov Ilya 1 Gagandeep Singh 1 Ianaré Sévi 1 Igor Murzov 1 Ivan Galanin 1 Jan Solanti 1 Janusz Lisiecki 1 Jed 1 Julien Maille 1 Karl Liu 1 Khem Raj 1 Manoj Gupta 1 Miguel Pari Soto 1 MoonChasing 1 Muhammad Taha 1 Niklas Hambüchen 1 Nuzhny007 1 Omar Hassan 1 Paul E. Murphy 1 Pierre Letessier 1 Pratik Raj 1 RAJKIRAN NATARAJAN 1 Samuel Thibault 1 Smirnov Alexey 1 Suleyman TURKMEN 1 Talamanov, Anatoliy 1 Tomoaki Teshima 1 Yuhel Tanaka 1 Yuriy Obukh 1 Zach Lowry 1 ankit6979 1 atinfinity 1 baka-gori 1 cudawarped 1 firebladed 1 gapry 1 h6197627 1 ihsan314 1 iteal 1 jshiwam 1 keeper121 1 midjji 1 olramde 1 rayonnant14 1 sajarindideropencv_contrib (25 contributors)
git shortlog --no-merges -ns 4.2.0..4.3.0 7 Alexander Alekhin 4 Pavel Rojtberg 2 Alexander Smorkalov 2 Ayush Garg 2 catree 1 David Geldreich 1 Gagandeep Singh 1 Igor Murzov 1 Kunal Tyagi 1 Lim 1 Maksim Shabunin 1 Miloš Komarčević 1 RAJKIRAN NATARAJAN 1 Rostislav Vasilikhin 1 Tobias Senst 1 Vishal Chiluka 1 Xavier Weber 1 akashsharma02 1 atinfinity 1 berak 1 cudawarped 1 jshiwam 1 raanyild 1 shimat 1 sunitanykApril, 2020
OpenCV 3.4.10 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.3.0.
December, 2019
New Year's update for OpenCV 4.x has been released.
Highlights of this release:

DNN module:

G-API module:
Enabled in-graph inference:#15090. Now G-API can express more complex hybrid CV/DL algorithms;
- Intel® Inference Engine backend is the only available now, support for DNN module will be added in the future releases.
Extended execution model with streaming support:#15216. Decoding, image processing, inference, and post-processing are now pipelined efficiently when processing a video stream with G-API.
Added tutorials covering these new features:Face analytics pipeline and a sampleFace beautification algorithm.

Performance improvements:
SIMD intrinsics:
StereoBM/StereoSGBMalgorithms,resize,integral,flip,accumulatewith mask,HOG,demosaic,momentsMuti-threading:
pyrDown

And many other great patches from OpenCV community:
VideoCapture: video stream extraction (demuxing) through FFmpeg backend.
VideoCapture:
waitAny()API for camera input multiplexing (Video4Linux through poll() calls).(opencv_contrib) new algorithm Rapid Frequency Selective Reconstruction (FSR):#2296 +tutorial.
(opencv_contrib) RIC method for sparse match interpolation:#2367.
(opencv_contrib) LOGOS features matching strategy:#2383.
Changes that can potentially break compatibility:
Disabled constructors for legacy C API structures.
Implementation of Thread Local Storage (TLS) has been improved to release data from terminated threads. API has been changed.
Don't define unsafe CV_XADD implementation by default.
Python conversion rules of passed arguments will be updated in next releases:#15915.
opencv (80 contributors)
git shortlog --no-merges -ns 4.1.2..4.2.0 77 Alexander Alekhin 12 Dmitry Kurtaev 7 Dmitry Matveev 7 Maksim Shabunin 5 Chip Kerchner 5 Yashas Samaga B L 5 atalaman 4 Anna Khakimova 4 Steve Nicholson 4 Vitaly Tuzov 4 YashasSamaga 4 cudawarped 3 Igor Murzov 3 Liubov Batanina 3 Lubov Batanina 3 Oleg Alexandrov 3 TH3CHARLie 2 Brian Wignall 2 ChipKerchner 2 Everton Constantino 2 Nikita Shulga 2 Orest Chura 2 OrestChura 2 Paul Murphy 2 Pinaev Danil 2 RAJKIRAN NATARAJAN 2 Ruslan Garnov 2 Sajarin 2 Sebastián Gurin 2 Vadim Levin 2 berak 2 shimat 1 Adam Gyarmati 1 Adam Rankin 1 Alexander Smorkalov 1 André Lippok 1 Anton Potapov 1 CJ Smith 1 Christoph Bachhuber 1 Ciprian Alexandru Pitis 1 Collin Brake 1 Diego 1 Dimitri Gerin 1 Dizhenin Vlad 1 Dmitry Budnikov 1 Fei Wu 1 Gael Colas 1 Giles Payne 1 JamesNewton 1 Lorenzo Lucignano 1 Manjunath Bhat 1 Maxim Pashchenkov 1 Natsu 1 Paul E. Murphy 1 Pavel Grunt 1 Pádraig Brady 1 Rajkiran Natarajan 1 SSE4 1 Sebastien Wybo 1 Sebastián Gurín 1 Talamanov, Anatoliy 1 Tatsuro Shibamura 1 Xuanda Yang 1 Yashas 1 antalzsiroscandid 1 anton-potapov 1 catree 1 clunietp 1 collin 1 collinbrake 1 czgdp1807 1 float13 1 jasjuang 1 jeffeDurand 1 mcellis33 1 nick black 1 sajarindider 1 thebhatman 1 ysy 1 yuriyluxriotopencv_contrib (26 contributors)
git shortlog --no-merges -ns 4.1.2..4.2.0 10 Alexander Alekhin 7 Pavel Rojtberg 4 cudawarped 3 Suleyman TURKMEN 2 Brian Wignall 2 Gagandeep Singh 2 Lizeth Huertas 2 Pavel Grunt 2 catree 2 czgdp1807 1 Adam Rankin 1 Apoorv Goel 1 Deni 1 Gael Colas 1 Josh Chien 1 LE GARREC Vincent 1 Nikita Shulga 1 RAJKIRAN NATARAJAN 1 Steve Nicholson 1 Tobias Senst 1 ab-dragon 1 anna 1 huangqinjin 1 jeffeDurand 1 kokerf 1 si40wigaDecember, 2019
OpenCV 3.4.9 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.2.0.
October, 2019
Fall update for OpenCV 4.x has been released.
Highlights of this release:

DNN module:
Intel® Inference Engine backend (OpenVINO™):
- 2019R3 has been supported
- Support modern IE Core API
- New approach for custom layers management. Now all the OpenCV layers fallbacks are implemented as IE custom layers which helps to improve efficiency due less graph partitioning.
High-level API which introduces
dnn::Modelclass and set of task-specific classes suchdnn::ClassificationModel,dnn::DetectionModel,dnn::SegmentationModel. It supports automatic pre- and post-processing for deep learning networks.

Performance improvements and platforms support:
- MSA SIMD implementation has been contributed for MIPS platforms:https://github.com/opencv/opencv/pull/15422
- OpenCV.js optimization (threading and SIMD as part of GSoC project):https://github.com/opencv/opencv/pull/15371
- More optimizations using SIMD intrinsics: dotProd, FAST corners, HOG, LK pyramid (VSX), norm, warpPerspective, etc
- Fixed detection of Cascade Lake CPUs

And many other great patches from OpenCV community:
- GUI: support topmost window mode (Win32/COCOA):https://github.com/opencv/opencv/pull/14872
- Java: fix Mat.toString() for higher dimensions:https://github.com/opencv/opencv/pull/15181
- Implementation of colormap "Turbo"https://github.com/opencv/opencv/pull/15388
- QR-Code detection accuracy improvement:https://github.com/opencv/opencv/pull/15356
- GSoC: Add learning-based super-resolution module:https://github.com/opencv/opencv_contrib/pull/2229 andhttps://github.com/opencv/opencv_contrib/pull/2231
- Detection accuracy improvement of the white marker aruco corners:https://github.com/opencv/opencv_contrib/pull/2236
- Added pattern generator tool for aruco:https://github.com/opencv/opencv_contrib/pull/2250
- and special thanks to@sturkmen72 for improving and cleaning up code of samples/tutorials
Breaking changes:
- fixed values thresholding accuracy in calcHist()
opencv (74 contributors)
git shortlog --no-merges -ns 4.1.1..4.1.2 55 Alexander Alekhin 18 Dmitry Kurtaev 16 Maksim Shabunin 8 Vitaly Tuzov 7 Paul E. Murphy 6 Andrey Golubev 6 Lubov Batanina 5 Suleyman TURKMEN 4 AsyaPronina 4 luz.paz 3 Anton Potapov 3 Chip Kerchner 3 ChipKerchner 3 Sebastián Gurin 3 smirnov-alexey 2 Braedy Kuzma 2 Dmitry Budnikov 2 Hugo Lindström 2 John Smith 2 Marcin Tolysz 2 Talamanov, Anatoliy 2 TheGoddessInari 2 Tomoaki Teshima 2 Victor Romero 2 Zyrin 2 atinfinity 2 dab0bby 2 ilbalance 1 APrigarina 1 Alexey Smirnov 1 Andrew Ryrie 1 Brandon 1 Daniel Kapusi 1 David Carlier 1 Diego 1 Dmitry Matveev 1 Douwe Gelling 1 Elms 1 Everton Constantino 1 Evgeny Latkin 1 Giles Payne 1 Ilya Lavrenov 1 Jaime 1 Jake Howard 1 Kazuma Furuhashi 1 LaurentBerger 1 Mark Harfouche 1 Martti Laine 1 Matt Bennett 1 Matthias Gehre 1 OrestChura 1 Philippe FOUBERT 1 Pinaev Danil 1 Prakhar Varshney 1 Rosen Penev 1 Sayed Adel 1 Sean McBride 1 Sebastián Gurín 1 Thang Tran 1 Vishal Chiluka 1 Wenzhao Xiang 1 Wise86 1 andrey-golubev 1 ann 1 berak 1 collin 1 craterkamath 1 dcouwenh 1 fishjam 1 huihut 1 mipsopen-fwu 1 takacsd 1 xitong 1 yaohai [姚海]opencv_contrib (24 contributors)
git shortlog --no-merges -ns 4.1.1..4.1.2 4 Alexander Alekhin 2 Maksim Shabunin 2 Marcin Tolysz 2 Tomoaki Teshima 1 Daniel Canelhas 1 Fanny Monori 1 Geert Willems 1 Graham Reeves 1 Josh Chien 1 Moeed 1 Nicolas Abril 1 Nuzhny007 1 Paul Debus 1 Rajkiran Natarajan 1 SSE4 1 Suleyman TURKMEN 1 Tobias Senst 1 Vishal Bhaskar Chiluka 1 Xavier Weber 1 adilfaqah 1 berak 1 clunietp 1 kqwyf 1 lizeth huertasOctober, 2019
OpenCV 3.4.8 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.1.2.
July, 2019
Summer update for OpenCV 4.x has been released.
Highlights of this release:

DNN module:
3D convolution networks initial support. There are Convolution, BatchNorm, Pooling, Eltwise layers implemented. Deconvolution3D layer is supported with
DNN_BACKEND_INFERENCE_ENGINEonly for now. CheckAction recognition sample.Intel Inference Engine backend:
2018R5 release is now minimal supported version
Asynchornous inference support. Use
cv::dnn::Net::forwardAsyncwhich returnsstd::future<Mat>instance. Check updated object detection samples for details:C++,PythonOpenCV face detection network efficiency on a single Intel Neural Compute Stick 2:
sync x3 asynchronous forwards 26.43 FPS 53.2 FPS (x2.01)
Deep learning networks visualization diagrams using dot files (
cv::dnn::Net::dumpToFile).A lot of improvements for ONNX and TenforFlow importers.

Performance improvements:
- AVX512 SIMD backend for wide universal intrinsics (w.u.i.)
- More optimizations using wide universal intrinsics

Android support:
- Added CameraActivity utility class to automate Camera permission handling on Android
- Changed default C++ runtime: c++_static -> c++_shared
- Unified code for frame size selection between JavaCamera2View / JavaCameraView

And many other great patches from OpenCV community:
- Added IPPE method for planar pose estimation in solvePnP (https://github.com/opencv/opencv/pull/14362 )
- Added solvePnPRefineLM and solvePnPRefineVVS (https://github.com/opencv/opencv/pull/14431 )
- Logging revamp (https://github.com/opencv/opencv/pull/13909 by @kinchungwong )
- opencv_contrib:Tracking-by-Matching approach
- opencv_contrib: addedAR samples into ovis module
Breaking changes:
- solveP3P, solvePnP and solvePnPGeneric return result in double precision unless the parameters are not empty
opencv (82 contributors)
git shortlog --no-merges -ns 4.1.0..4.1.1 129Alexander Alekhin 32Dmitry Kurtaev 19Maksim Shabunin 14Vitaly Tuzov 11Lubov Batanina 11Ruslan Garnov 8Andrey Golubev 7atalaman 6Ahmed Ashour 5Anton Potapov 5Rostislav Vasilikhin 5Thang Tran 4Liubov Batanina 4catree 3Alexey Smirnov 3LaurentBerger 3SchultzC 3Stefan Brüns 3Tomoaki Teshima 3arnaudbrejeon 3mehlukas 2Chip Kerchner 2David Carlier 2Diego 2Giles Payne 2Hugo Lindström 2Jan Starzynski 2Pavel Rojtberg 2Sayed Adel 2Suleyman TURKMEN 2gal0is 2utibenkei 1Adam Rankin 1Alexander Nesterov 1Alexey Nikolaev 1Allan Rodriguez 1Apoorv Goel 1AsyaPronina 1Cameron Martin 1Chip Kerchner Chip.Kerchner@ibm.com 1Dal Rupnik 1Daniel Ingram 1Fady Essam 1Feng Chen 1Guillaume Jacob 1James Bowley 1Joe Howse 1Kang 1Kang Yifei 1Kohei Yoshida 1Lukas Mehl 1Madhav 1Manolis Stamatogiannakis 1Manthan Keim 1Nick Yang 1Nuzhny007 1Rafa Gomez-Jordana 1Ryan Wong 1Sergiu Deitsch 1Sheel-Patel 1StefanBruens 1Ted Steiner 1Tomasz Gorochowik 1Vishal Chiluka 1Yashas Samaga B L 1anton-potapov 1armenpoghosov 1bommo1 1dianlujitao 1jxu 1kiwixz 1kupferb 1lain 1masa-iwm 1michal-kowalczyk 1ostarling 1rasmus25 1seungju 1take1014 1tribta 1vdgussem 1wenzhaoopencv_contrib (25 contributors)
git shortlog --no-merges -ns 4.1.0..4.1.1 6Alexander Alekhin 4Pavel Rojtberg 3dnandha 2Ahmed Ashour 2LaurentBerger 2Leonid Beynenson 2Rostislav Vasilikhin 2Tomoaki Teshima 1Andrew 1James Bowley 1Krutika Bapat 1Lizeth Huertas 1RAJKIRAN NATARAJAN 1Suleyman TURKMEN 1Tobias Senst 1Vishal Chiluka 1aj28faty 1berak 1bitsun 1catree 1clunietp 1lichun 1mehlukas 1sebastian 1tegusiJuly, 2019
OpenCV 3.4.7 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.1.1.
April, 2019
Spring update for OpenCV 4.x has been released.
Highlights of this release:

DNN module:
- Reduced peak memory consumption for some models by up to 30%.
- Updated and improved integration with Intel Inference Engine:
- Inference Engine 2018R3 is now the oldest supported version.
- Myriad X (Intel® Neural Compute Stick 2) is now supported and tested.
- Implemented automatic reshaping (for the input images of different resolutions) of networks represented in IE IR format.
- Extended OpenCV DNN samples to support various models fromOpenVINO Open Model Zoo
- New networks from TensorFlow Object Detection API: Faster-RCNNs, SSDs and Mask-RCNN with dilated convolutions, FPN SSD

Performance improvements:
- More optimization using AVX2 instruction set.
- Automatic runtime dispatching is available for large set of functions from
coreandimgprocmodules.

- Android support:
- VideoCapture C++ interface supportsAndroid Media NDK (21+) video I/O file capture back-end

Integrated many great patches from OpenCV community:
- Matplotlib Perceptually Uniform Sequential colormaps
- Add keypoints matching visualization for real-time pose estimation tutorial
- Add Hand-Eye calibration methods
- Java: improved support for multidimensional arrays (Mat)
- Dynamically loaded videoio backends (FFmpeg, GStreamer)
- opencv_contrib:Robust local optical flow (RLOF) implementations
- opencv_contrib:Implementation of Quasi Dense Stereo algorithm
- opencv_contrib:New module: Image Quality Analysis (IQA) API
- opencv_contrib:BRISQUE No Reference Image Quality Assessment (IQA) API
opencv (77 contributors)
git shortlog --no-merges -ns 4.0.1..4.1.0 118Alexander Alekhin 32Dmitry Kurtaev 16Vitaly Tuzov 13Maksim Shabunin 11Namgoo Lee 9Rostislav Vasilikhin 7Quentin Chateau 6Sayed Adel 6smirnov-alexey 5Alexander Nesterov 5Alexey Smirnov 5LaurentBerger 4Giles Payne 4Pavel Rojtberg 3Andrey Golubev 3Brad Kelly 3Liubov Batanina 3Ruslan Garnov 3berak 3catree 2Christoph Rackwitz 2Kohei Yoshida 2Lee Jaehwan 2Pedro Ferreira da Costa 2Stefan Dragnev 2Suleyman TURKMEN 2Wu Zhiwen 2klemens 2npochhi 2zuoshaobo 1103yiran 1AKAMath 1Adrian Renner 1AnastasiaaSenina 1Arnaud Brejeon 1Augusto Fraga Giachero 1Ayush Pandey 1BALACHANDAR S 1Bharat123Rox 1CUI Hao (Lab) 1Christopher N. Hesse 1David Carlier 1Easton Liu 1ExpandingDev 1George Wilson 1Gregor Mittag 1Hannah McLaughlin 1Jaewoo Song 1Jim Zhou 1JoeHowse 1Josh Veitch-Michaelis 1Juha Reunanen 1Kangning Song 1Lindsay Roberts 1Lubov Batanina 1Lucas Towers 1Matthew K. Gumbel 1Nicolae Rosia 1Oleh 1Otto Seiskari 1Pierre Chatelier 1RAJKIRAN NATARAJAN 1Rajkiran Natarajan 1Ramez Rafla 1Raphael Graf 1Richard Veale 1Scott Ramsby 1Thang Tran 1Thomas Peters 1WuZhiwen 1atinfinity 1cftang 1iPanda 1mehlukas 1rpici 1winice 1x3lifopencv_contrib (22 contributors)
git shortlog --no-merges -ns 4.0.1..4.1.0 8 Namgoo Lee 4 Pavel Rojtberg 3 Alexander Alekhin 3 clunietp 2 Hamdi Sahloul 2 Maksim Shabunin 2 Raphael Graf 1 Charles Taylor 1 Dimitrios Psychogyios 1 Dmitry Kurtaev 1 JoeHowse 1 Julian Seuffert 1 Richard Veale 1 Sreejith S 1 Ted Steiner 1 Tomoaki Teshima 1 berak 1 iindovina 1 kushashwa ravi shrimali 1 shimat 1 tsenst 1 utkarshg6April, 2019
OpenCV 3.4.6 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.1.0.
December, 2018
New Year's update for OpenCV 4.0 has been released.
opencv (38 contributors)
git shortlog --no-merges -ns 4.0.0..4.0.1 44 Alexander Alekhin 16 Dmitry Kurtaev 12 Vitaly Tuzov 10 Maksim Shabunin 7 Evgeny Latkin 5 Dmitry Budnikov 3 Ruslan Garnov 2 1over 2 Adrian Kashivskyy 2 LaurentBerger 2 Quentin Chateau 2 Rostislav Vasilikhin 2 Sayed Adel 2 Tomoaki Teshima 2 vishwesh5 1 Alexander Nesterov 1 Bram 1 Dan Mašek 1 Dmitry Matveev 1 Etienne Brateau 1 Kartik Mohta 1 Madan Ram 1 Matthias Winkelmann 1 Namgoo Lee 1 Pavel Rojtberg 1 Peter J. Stieber 1 Rijubrata Bhaumik 1 Sean McBride 1 Sergiu Deitsch 1 Thad House 1 Tsukasa Sugiura 1 Vasiliy Sorokin 1 Wu Zhiwen 1 WuZhiwen 1 berak 1 huangqinjin 1 okriof 1 pascalopencv_contrib (10 contributors)
git shortlog --no-merges -ns 4.0.0..4.0.1 3 Pavel Rojtberg 2 huangqinjin 1 Alexander Alekhin 1 LinkeyLeo 1 Suleyman TURKMEN 1 YTY 1 Yuriy Obukh 1 indianocean10000 1 vishwesh5 1 塚本信男December, 2018
OpenCV 3.4.5 has been released. Bug fixes, optimizations and other enhancements are propagated into OpenCV 4.0.1.
4.0.0-alpha:September, 2018
4.0.0-beta:October, 2018
4.0.0 final:November, 2018
We are glad to announce OpenCV 4.0 release.
Here is what's new:

A lot of C API from OpenCV 1.x has been removed. The affected modules are objdetect, photo, video, videoio, imgcodecs, calib3d.
Persistence (storing and loading structured data to/from XML, YAML or JSON) in the core module has been completely reimplemented in C++ and lost the C API as well. For now base64 support is not complete (only loading base64-encoded XML and YAML is supported, encoding is not supported at all). Also, the random access of sequences stored in a
FileNodeis now a slow O(N) operation vs. fast O(1) in the previous implementation; usecv::FileNodeIteratorfor much faster sequential access. On the positive side, the loadedFileStorage's take 3-6x less memory than in the previous implementation.OpenCV is now C++11 library and requires C++11-compliant compiler. Note that OpenCV 3.x can also be built as C++11 library by passing
-DENABLE_CXX11=ONflag to CMake. Now this is the only option so the flag is not needed and is not available anymore.- Thanks to the extended C++11 standard library, we could get rid of hand-crafted
cv::Stringandcv::Ptr. Nowcv::String == std::stringandcv::Ptris a thin wrapper on top ofstd::shared_ptr. Also, on Linux/BSD forcv::parallel_for_we now usestd::thread's instead of pthreads.
- Thanks to the extended C++11 standard library, we could get rid of hand-crafted


DNN improvements
Added support for Mask-RCNN model. Follow aguide and use apython sample.
Integrated ONNX parser. We now support many popular classification networks. YOLO object detection network in partially supported as well (ONNX version of YOLO lacks some final layers that actually give you the list of rectangles). Thanks toLubov Batanina for her first-time contribution to OpenCV!
Further improved performance of DNN module when it's built withIntel DLDT support by utilizing more layers from DLDT. By the way, DLDT has been recently released asopen-source. Seethe guide how to build and use OpenCV with DLDT support.
API changes: by default,
blobFromImagemethods family do not swap red and blue channels and do not crop the input image. Beware that this API change has also been propagated to OpenCV 3.4 branch.Experimental Vulkan backend has been added for the platforms where OpenCL is not available:https://github.com/opencv/opencv/pull/12703. Thanks to Zhiwen Wu and Juan J. Zhao for the contribution!
Added shortcuts for the most popular deep learning networks supported by OpenCV. You may specify an alias name of model to skip pre-processing parameters and even paths to models! In example, instead of
python object_detection.py --model opencv_face_detector.caffemodel --config opencv_face_detector.prototxt --mean 104 177 123 --width 300 --height 300you can type just
python object_detection.py opencv_fdFixed OpenCL acceleration on AMD and NVIDIA GPUs. Now you may enable
DNN_TARGET_OPENCLfor your model without extra environment variables. Please note thatDNN_TARGET_OPENCL_FP16is tested on Intel GPUs only, so it still requires additional flags.

- Completely new moduleopencv_gapi has been added. It is the engine for very efficient image processing, based on lazy evaluation and on-fly construction of the processing graph (hence the name Graph API or G-API). SeeGraph API (G-API) for details.

Performance improvements
- A few hundreds of basic kernels in OpenCV have been rewritten using so-called "wide universal intrinsics". Those intrinsics map to SSE2, SSE4, AVX2, NEON or VSX intrinsics, depending on the target platform and the compile flags. It should translate to noticeably better performance, even for some already optimized functions. For example, if you configure and compile OpenCV with
CPU_BASELINE=AVX2CMake flag, you can get extra 15-30% speed improvement for certain image processing operations. By OpenCV 4.0 gold we plan to translate many more kernels to such intrinsics and also employ our dynamic dispatching mechanism, so that on x64 platform AVX2-optimized kernels are always built-in and could be selected on-fly if the actual hardware supports such instructions (without having to changeCPU_BASELINE). Big thanks to Sayed Adel for VSX backend and the initial (but rather complete!) AVX2 backend of the wide universal intrinsics! Big thanks to Vitaly Tuzov for conversion of many functions in OpenCV to wide universal intrinsics. - Support for IPP 2019 has beed added with IPPICV component upgrade.
- A few hundreds of basic kernels in OpenCV have been rewritten using so-called "wide universal intrinsics". Those intrinsics map to SSE2, SSE4, AVX2, NEON or VSX intrinsics, depending on the target platform and the compile flags. It should translate to noticeably better performance, even for some already optimized functions. For example, if you configure and compile OpenCV with

- QR code detector and decoder have been added to opencv/objdetect module together with livesample. Currently, the decoder is built on top of QUirc library (which snapshot we put into opencv). Thanks to our intern Alexander Nesterov for this important contribution!

- The popular Kinect Fusion algorithm has been implemented, optimized for CPU and GPU (OpenCL), and integrated into opencv_contrib/rgbd module. To make the livesample work, we updated our Kinect 2 support in opencv/videoio module. In 4.0 beta the code has been accelerated for iGPU, which resulted in 3x performance boost in the high-resolution case (512x512x512 integration volume). Thanks to Rostislav Vasilikhin for the excellent work!

- Very efficient and yet high-quality DIS dense optical flow algorithm has been moved from opencv_contrib to opencv, video module. See theexample. Thanks to Alexander Bokov, our GSoC student, who implemented this algorithm, and Peng Li, who optimized it for GPU.
- At the same time, slower TV L1 optical flow algorithm has been moved from opencv toopencv_contrib.
opencv (155 contributors)
git shortlog --no-merges -ns 964a4d75b44a3c4c2425b9ed8c4c25c4e6db79ca..4.0.0 387 Alexander Alekhin 99 Dmitry Kurtaev 45 Hamdi Sahloul 44 Maksim Shabunin 35 Vitaly Tuzov 26 berak 25 Tomoaki Teshima 25 Vadim Pisarevsky 23 catree 19 Suleyman TURKMEN 15 Sayed Adel 11 Alexander Nesterov 11 Pavel Rojtberg 10 Rostislav Vasilikhin 9 Dmitry Matveev 8 Kuang Fangjun 7 Li Peng 6 Wu Zhiwen 6 take1014 5 cyy 5 yuki takehara 4 Evgeny Latkin 4 LaurentBerger 4 cclauss 3 Apoorv Goel 3 Karpushin Vladislav 3 Lubov Batanina 3 Michał Janiszewski 3 Namgoo Lee 3 Ruslan Garnov 3 Wenfeng CAI 3 k-shinotsuka 3 shengyu 3 tompollok 2 Adam Radomski 2 Alexander Duda 2 Alexander Enaldiev 2 Andrew Mroczkowski 2 Antonio Borondo 2 AsyaPronina 2 Dmitry Budnikov 2 George Mironov 2 Jiri Horner 2 Mansoo Kim 2 Mark Harfouche 2 Pavel Vlasov 2 Peter Rekdal Sunde 2 Sean McBride 2 Vlad Karpushin 2 Vladislav Sovrasov 2 fegorsch 2 gkaneto 2 luz.paz 2 pasbi 1 Adam Rankin 1 Alessandro de Oliveira Faria (A.K.A.CABELO) 1 Alexey Nikolaev 1 Ali Yasin Eser 1 Anush Elangovan 1 Apoorv 1 Arnaud Brejeon 1 Bahram Dahi 1 CJ Smith 1 CYTing1998 1 Christopher Gundler 1 Colin Smith 1 Damien Picard 1 David 1 Diego Barrios Romero 1 Emanuele Ruffaldi 1 Fangjun Kuang 1 Florian Echtler 1 Forrest Reiling 1 Gaetano Checinski 1 Georgy Mironov 1 HarshDolhare 1 Henry 1 Hiro Kobayashi 1 Ilari Venäläinen 1 Ivan Pozdeev 1 Jakub Golinowski 1 Jean Carass 1 Kaartic Sivaraam 1 Khem Raj 1 Kyle D. Patterson 1 Latkin, Yevgeny I 1 Li, Peng 1 Loic Devulder 1 Loic Petit 1 Lucas Teixeira 1 Marat K 1 Marco A. Gutierrez 1 Matt Bennett 1 Maxim Smirnov 1 Menghui Xie 1 Michael Firman 1 Nesterov Alexander 1 Nobuo Tsukamoto 1 Patrick Cox 1 Paul Jurczak 1 Paul Shin 1 Paul92 1 Peter Jozsa 1 Peter Leitzen 1 Peter Whidden 1 Philipp Hasper 1 Pierre Jeambrun 1 Reid Kleckner 1 Ryan Wong 1 Sacha 1 Sam Radhakrishnan 1 Sancho McCann 1 Sergey Nuzhny 1 Simon Que 1 Spark Echo 1 Takuho NAKANO 1 Teng Yiliang 1 Todor Tomov 1 Triplesalt 1 Vlad Kraevskiy 1 WuZhiwen 1 Zhenqing Hu 1 abhi-jha 1 amatyuko 1 asciian 1 branka-plateiq 1 cDc 1 cabelo 1 chacha21 1 drkoller 1 exoson 1 gineshidalgo99 1 gnthibault 1 huangqinjin 1 ilovezfs 1 jasjuang 1 jsxyhelu 1 kamino410 1 logic1988 1 lqy123000 1 matech96 1 maver1 1 miaow1988 1 rockzhan 1 root 1 soonbro 1 ssnover95 1 tellowkrinkle 1 unknown 1 vishwesh5 1 wanghanmin 1 woody.chow 1 yom 1 zarelaky 1 zuoshaoboopencv_contrib (43 contributors)
git shortlog --no-merges -ns aaf8fffcfbe1b80f9653b21d2095bc9037d418be..4.0.0 49 Alexander Alekhin 18 Hamdi Sahloul 16 Pavel Rojtberg 8 LaurentBerger 8 Tomoaki Teshima 6 berak 5 Maksim Shabunin 5 Vadim Pisarevsky 4 Rostislav Vasilikhin 4 Suleyman TURKMEN 3 Jukka Komulainen 3 soyer 3 tompollok 2 Lubos 2 Vitaly Tuzov 2 catree 1 Anton Shutikhin 1 Antonio Borondo 1 Colin 1 Dietrich Büsching 1 Jan Beich 1 Jeff Bail 1 Jiri Horner 1 Khem Raj 1 Kushashwa Ravi Shrimali 1 Li-Chi Huang 1 Mohammad Haghighat 1 Sayed Adel 1 SongChiYoung 1 Unknown 1 Varvrar 1 Vladislav Sovrasov 1 YTY 1 bini 1 d.bouron 1 dianlujitao 1 fegorsch 1 gdemarcq 1 gmedan 1 kartoffelsalat 1 simonreich 1 trobro 1 yarglawaldegNovember, 2018
OpenCV 3.4.4 has been released. This is a mantenance release. New features are landed in OpenCV 4.0.
August, 2018
OpenCV 3.4.3 has been released, with further extended dnn module, documentation improvements, some other new functionality and bug fixes.
opencv (35 contributors)
$ git shortlog --no-merges -ns 3.4.2..3.4.3 68 Alexander Alekhin 24 Dmitry Kurtaev 21 Maksim Shabunin 10 berak 5 Kuang Fangjun 4 Alexander Nesterov 4 catree 3 Sayed Adel 3 Suleyman TURKMEN 3 Vadim Pisarevsky 2 Li Peng 2 Tomoaki Teshima 2 Vitaly Tuzov 2 luz.paz 1 Bahram Dahi 1 Colin Smith 1 Hamdi Sahloul 1 Hiro Kobayashi 1 Kaartic Sivaraam 1 Karpushin Vladislav 1 Lucas Teixeira 1 Maxim Smirnov 1 Paul92 1 Pierre Jeambrun 1 Rostislav Vasilikhin 1 Sacha 1 Teng Yiliang 1 Triplesalt 1 amatyuko 1 asciian 1 logic1988 1 miaow1988 1 tompollok 1 yom 1 zarelakyopencv_contrib (13 contributors)
$ git shortlog --no-merges -ns 3.4.2..3.4.3 8 Alexander Alekhin 3 Pavel Rojtberg 1 Anton Shutikhin 1 Hamdi Sahloul 1 Jan Beich 1 LaurentBerger 1 Li-Chi Huang 1 Maksim Shabunin 1 berak 1 bini 1 dianlujitao 1 gdemarcq 1 trobroJuly, 2018
OpenCV 3.4.2 has been released, with further extended dnn module, documentation improvements, some other new functionality and bug fixes.
OpenCV 3.4.x development is switched from "master" to "3.4" branch."master" branch is used for development of upcoming OpenCV 4.x releases.
Bugfixes / optimizations / small improvemets should go into "3.4" branch.We will merge changes from "3.4" into "master" regularly (weekly/bi-weekly).

DNN improvements
- Added a new computational target
DNN_TARGET_OPENCL_FP16for half-precision floating point arithmetic of deep learning networks using OpenCL. Just usenet.setPreferableTarget(DNN_TARGET_OPENCL_FP16). - Extended support of Intel's Inference Engine backend to run models on GPU (OpenCL FP32/FP16) and VPU (Myriad 2, FP16) devices. Seean installation guide for details.
- Enabled import ofIntel's OpenVINO pre-trained networks from intermediate representation (IR).
- Introduced custom layers support which let you define unimplemented layers or override existing ones. Learn more ina corresponding tutorial.
- Implemented a new deep learningsample inspired byEAST: An Efficient and Accurate Scene Text Detector.
- Added a support of YOLOv3 and image classification models fromDarknet framework.
- Reduced top DNN's memory consumption and improvements in support of networks from TensorFlow and Keras.
- Added a new computational target

- Excellent tutorials improvements. Python / Java examples are merged into C++ tutorials. Big thanks toCatree.

- Video I/O: improved support of Microsoft Media Foundation (MSMF)
opencv (83 contributors)
$ git shortlog --no-merges -ns 3.4.1..3.4.2 192 Alexander Alekhin 64 Dmitry Kurtaev 22 Tomoaki Teshima 19 Maksim Shabunin 19 Vitaly Tuzov 14 catree 8 Vadim Pisarevsky 7 yuki takehara 6 Namgoo Lee 6 Sayed Adel 5 Li Peng 5 berak 4 Alexander Nesterov 4 cclauss 4 k-shinotsuka 4 shimat 3 Adam Rankin 3 Dan Mašek 3 Kuang Fangjun 3 Rostislav Vasilikhin 3 shengyu 2 Alexander Enaldiev 2 Naoto Mizuno 2 Pavel Vlasov 2 cDc 2 corley 2 lopespt 2 take1014 1 Aleksandr Tischenko 1 Andrei Costinescu 1 Anthony Wertz 1 Arkadiusz Raj 1 Ben John 1 Collen Jones 1 Damien Picard 1 David 1 Eugene Mikhantiev 1 Ilya A. Volynets-Evenbakh 1 Jan Gaura 1 Jonathan Martens 1 Kyle D. Patterson 1 LaurentBerger 1 Li, Peng 1 Michael Firman 1 Nesterov Alexander 1 Paul Jurczak 1 Pavel Rojtberg 1 Peter Rekdal Sunde 1 RAJKIRAN NATARAJAN 1 Rajkiran Natarajan 1 Ryan Wong 1 Sancho McCann 1 Simon Que 1 Sonny Kurniawan 1 Spark Echo 1 Suleyman TURKMEN 1 Sérgio M. Basto 1 Tristan Konolige 1 Vishwa Prakash H V 1 Vlad Kraevskiy 1 Vladislav Sovrasov 1 Wu Zhiwen 1 abhi-jha 1 atinfinity 1 branka-plateiq 1 cabelo 1 codingforfun 1 exoson 1 gnthibault 1 ilovezfs 1 jchazalon 1 kinchungwong 1 ltqusst 1 matech96 1 miqlas 1 native-api 1 rockzhan 1 tlanclos 1 vasiliev-vb 1 vishwesh5 1 whizzzkid 1 y0umu 1 zuoshaoboopencv_contrib (17 contributors)
$ git shortlog --no-merges -ns 3.4.1..3.4.2 36 Alexander Alekhin 12 Pavel Rojtberg 6 berak 3 Vitaly Tuzov 2 LaurentBerger 2 Maksim Shabunin 2 catree 1 Aleksandr Tischenko 1 Alireza Davoudi 1 Colin 1 Dmitry Kurtaev 1 Kushashwa Ravi Shrimali 1 Lizeth Huertas 1 SongChiYoung 1 Stepanenko Andrey 1 gmedan 1 yomna-safaaFebruary, 2018
OpenCV 3.4.1 has been just released, with further extendeddnn module, multiple bug fixes and other small and big improvements.

Added support for quantized TensorFlow networks. We are now able to load 8-bit matrices of weights. The computations are still done in FP32 (with plans to add FP16 path), but even now it's possible to compress the networks so that they consume less disk space. For example, ourface detector can be modified to read and use our 8-bit quantized ResNet-basedface detection network (pass it and thisdescription file into
cv::dnn::readNetFromTensorFlow()). And the face detection network takes just 2.7Mb.OpenCV is now able to useIntel DL inference engine as DNN acceleration backend. It gives quite noticeable performance boost on many models:
| Model | CPU, default backend | CPU, Inference Engine backend, MKL-DNN plugin | Model Optimizer + Inference Engine, MKL-DNN plugin (a standalone application) |
|---|---|---|---|
| AlexNet | 14.44ms | 12.09ms (x1.19) | 12.05ms |
| GoogLeNet | 15.26ms | 8.92ms (x1.71) | 8.75ms |
| ResNet-50 | 35.78ms | 19.53ms (x1.83) | 19.4ms |
| SqueezeNet v1.1 | 4.01ms | 2.60ms (x1.54) | 2.5ms |
| MobileNet-SSD from Caffe | 21.62ms | 8.89ms (x2.43) | |
| DenseNet-121 | 61.71ms | 28.21ms (x2.18) | |
| OpenPose (COCO) @ 368x368 | 885.57ms | 544.05ms (x1.62) | |
| OpenPose (MPI) @ 368x368 | 879.13ms | 533.96ms (x1.64) | |
| OpenPose (MPI, 4 stages) @ 368x368 | 605.63ms | 378.49ms (x1.60) | |
| OpenFace | 3.84ms | 2.59ms (x1.48) |
Added AVX-512 acceleration to the performance-critical kernels, such as convolution and fully-connected layers. Some networks, such as SSD object detection and ENet semantical segmentation, have been accelerated by ~20%.
SSD-based models trained and retrained inTensorFlow Object Detection API can be easier imported by a single invocation ofpython script making a text graph representation. Read awiki page for details.
Performance of pthreads backend of
cv::parallel_for_()(which is used by default on Linux/Android, unless you installed TBB or chose OpenMP) has been greatly improved on many core machines, in particular 10-core Core i9. That let us to increase performance of DNN inference quite significantly (up to 6x) on such machines.OpenCL backend has been expanded to cover more layers. The layer fusion has also been improved to increase the speed even further. It shall be reminded that in order to enable OpenCL backend (if it's available on the host machine) one should call the method
my_dnn_net.setPreferableTarget(cv::dnn::DNN_TARGET_OPENCL)before the inference, wheremy_dnn_netis the network loaded usingcv::dnn::readNetFromCaffe(),cv::dnn::readNetFromTensorFlow()etc.Several bugs in various layers have been fixed; in particular, SSD priors are now computed slightly differently so that we can more accurate bounding boxes when running SSD on variable-size images.

- On-disk caching of precompiled OpenCL kernels has been fixed to comply with OpenCL standard. Correspondingly, it now works well with the new Intel OpenCL (NEO) drivers.
- Certain cases with UMat deadlock when copying UMats in different threads has been fixed.

- Supported Android NDK16
- Added build.gradle into OpenCV 4 Android SDK
- Added initial support of Camera2 API via JavaCamera2View interface

C++11: added support of multi-dimentional
cv::Matcreation via C++ initializers lists:auto K = Mat_<double>({3,3}, {0, -1,0, -1,5, -1,0, -1,0});
C++17: OpenCV source code and tests comply C++17 standard

opencv_contrib: addedGMS matching
opencv_contrib: addedCSR-DCF tracker
opencv_contrib: several improvements in OVIS module (OGRE 3D based visualizer)
~248 patches have been merged since OpenCV 3.4.0
203 issues have been closed
$ git shortlog --no-merges -ns 3.4.0..3.4.1 98 Alexander Alekhin 27 Dmitry Kurtaev 27 Li Peng 27 Maksim Shabunin 10 Fangjun Kuang 6 Vitaly Tuzov 6 luz.paz 5 Namgoo Lee 4 Tomoaki Teshima 3 Arjan van de Ven 3 Glue Crow 3 LaurentBerger 3 Sayed Adel 3 Suleyman TURKMEN 2 Alessandro de Oliveira Faria (A.K.A.CABELO) 2 Arthur Williams 2 Gregory Morse 2 Hamdi Sahloul 2 Pavel Rojtberg 2 Rostislav Vasilikhin 2 Steven 2 Woody Chow 2 berak 2 csukuangfj 2 oqtvs 2 victor-ludorum 2 wxzs5 1 Aaron Bray 1 Aditya Rohan 1 Alexander Nesterov 1 Ali Sentas 1 Ce Zheng 1 Chris Hall 1 Coralie RACHEX 1 Csaba Keszegh 1 David Koller 1 Elena Gvozdeva 1 Eric Wang 1 Erik Man 1 Florian Echtler 1 GlueCrow 1 Harshal Nishar 1 Jozef Mlich 1 Jun Zhao 1 Li, Peng 1 Mark Harfouche 1 Moshe 1 PalkoNazar 1 Patrik Huber 1 Philipp Hasper 1 Ryo Suzuki 1 Rémi Ratajczak 1 SarenT 1 Stanislaw Halik 1 Sui Libin 1 Tom Becker 1 Travers 1 Vinay Sharma 1 Ya-Chiu Wu 1 catree 1 denmatfoton 1 elenagvo 1 jasjuang 1 mworchel 1 razerhell 1 sergeybe 1 take1014 1 tobycollins 1 woody.chow 1 yuki takehara$ git shortlog --no-merges -ns 3.4.0..3.4.1 10 Pavel Rojtberg 4 Hamdi Sahloul 3 Alexander Alekhin 3 KUANG Fangjun 2 Maksim Shabunin 2 Vitaly Tuzov 2 berak 2 catree 1 Adam 1 Andrej Muhič 1 Fangjun Kuang 1 John Cant 1 Kv Manohar 1 Plamen Dimitrov 1 Suleyman TURKMEN 1 Yujun Shi 1 adrianheron 1 caseymcc 1 klchangDecember, 2017

OpenCV 3.4 (NY 2018 edition) has been released, with further extendeddnn module, some other new functionality, improvements and bug fixes.

The results of yet another GSoC 2017 OpenCV project on implementing new background subtraction algorithms have been integrated. Please, checkthe script, the algorithmsLSBP-* andGSOC-*.


opencv_dnn has been further improved and extended:
- Added faster R-CNN support and the correspondingexample.

- Javascript bindings have been extended to cover DNN module. See the correspondingtutorial
- Also, DNN has been further accelerated for iGPU using OpenCL. In particular, MobileNet-SSD networks now run ~7 times faster than in OpenCV 3.3.1. Big thanks to Peng Li and his team for the contribution.

- On-disk caching of precompiled OpenCL kernels has been finally implemented. It noticeably reduces initialization time of applications that use a lot of kernels.
- Also, it's now possible to load and run pre-compiled OpenCL kernels via T-API. It can be useful on embedded platforms without OpenCL JIT compiler available. For details, see the followingguide on OpenCL acceleration in OpenCV.

- Bit-exact 8-bit and 16-bit resize has been implemented (currently supported only bilinear interpolation). Use
INTER_LINEAR_EXACTinterpolation mode. In many places in the library we've switched to this new resize.Bit-exactmeans that on any platform with any compiler etc. you will get absolutely the same results for the same scale factor values, there will be no difference (even +/-1) in pixel values in the output image. The function complements a few other bit-exact algorithms added in OpenCV 3.3.1:cvtColor(RGB<=>Lab, RGB<=>Luv).

- Now thereference guide includes function/method prototypes for the Python bindings, e.g. type "convexHull" in the search field and you will see the C++ declaration and the Python wrapper spec below. That was another GSoC 2017 project. Big thanks to Cartucho and Vincent Rabaud.
- Excellent tutorial on how to compute and use homography matrix in OpenCV has been added. Big thanks to Catree.
- The guide on how to use OpenCV with Intel Media SDK in order to get hardware-accelerated video decoding/encoding has been written by Maksim Shabunin.
- Another guide has been added a few months ago by Alexander Alekhin, but was not mentioned before, on how to profile OpenCV-based applications using Intel Tracing Technology tool.
- Quite comprehensive set oftutorials on how to use OpenCV within a browser (via javascript bindings) has been created during GSoC 2017

- ~250 patches have been merged since OpenCV 3.3.1
- over 200 issues have been closed
103Alexander Alekhin 25Dmitry Kurtaev 23Maksim Shabunin 17Li Peng 17elenagvo 14Vitaly Tuzov 10Suleyman TURKMEN 10catree 8Tomoaki Teshima 6Sayed Adel 5LaurentBerger 5Vladislav Sovrasov 5Wu Zhiwen 4Pavel Rojtberg 4Rostislav Vasilikhin 4Vadim Pisarevsky 3tribta 2Bhanudutta 2Fakabbir Amin 2Mattia Rizzolo 2Ryan Fox 2Shinya Ishikawa 2berak 2dtmoodie 1Akhilesh Kumar 1Alexander Nesterov 1Alexander Rybnikov 1Amro 1Andrey Smorodov 1Arthur Pastel 1Cartucho 1Christof Kaufmann 1David Geldreich 1Elena Gvozdeva 1Florian Echtler 1Hamdi Sahloul 1Haritha 1Iago Suárez 1Igor Wodiany 1Ivan Pozdeev 1Jacob MacRitchie 1James Perkins 1Jcrist99 1Jiri Horner 1Jonathan Viney 1Juha Reunanen 1KUANG Fangjun 1Mikhail Paulyshka 1Muhammad Abdullah 1Nickola 1Pushkal Katara 1Riyuzakii 1Roman Cattaneo 1Shresth Verma 1Simon Guo 1Wei Hao 1Wu, Zhiwen 1alessandro faria 1gdkessler 1klchang 1woody.chow 1wxzs5 1zhijackchen 1zhongwuzw20sghoshcvc18Vladislav Sovrasov 9Alexander Alekhin 6Vitaly Tuzov 6berak 5Hamdi Sahloul 5Maksim Shabunin 4Pavel Rojtberg 4Suman Ghosh 3LaurentBerger 3Leonardo Brás 2Suleyman TURKMEN 1Adam Gradzki 1Anup Parikh 1Dmitry Kurtaev 1Egor Pugin 1Leonardo lontra 1Oleg Kalachev 1Vladislav Samsonov 1cDc 1fiammante 1klchang 1kurnianggoro 1kushalvyaskv 1sukhad-appOctober, 2017
OpenCV 3.3.1 with extended dnn module, most of GSoC 2017 results integrated and other improvements has been released.

Results of several GSoC 2017 projects have been integrated:
- multi-language (e.g. C++/Python/Java) tutorials by João Cartucho, mentored by Vincent Rabaud
- AKAZE acceleration by Jiri Horner, mentored by Bence Magyar
- End-to-end text detection and recognition by Suman Kumar Ghosh, mentored by Prasanna Krishnasamy

One of GSoC 2017 projects that deserves a dedicated section in the change log:
- Javascript interface to OpenCV (via Emscripten technology) and interactive Web-based OpenCV tutorials by Gang Song and Congxiang Pan. This small yet powerful team was supervised by Sajjad Taheri, Ningxin Hu and Mohammad R Haghighat.

opencv_dnn has been further improved and extended; new samples have been added:
Face detection sample and the light-weight Resnet-10 + SSD based network have been added. Seethe example for details. The detector runs around 20-50FPS on a normal desktop/laptop, and the network is just 10MB (FP32) or even 5MB (FP16).
The partial Darknet parser, enough to parse YOLO models, as well as the layers to support a few variations of YOLO object detection networks have been integrated. See the correspondingsample.
Preliminary support for FP16 networks has been added. We do not do computations in FP16 yet, we convert FP16 coeffs to FP32 when loading the networks. In the case of Caffe we rely on the followingfork, whereas in the case of TF we use the official version.
Several new layers have been added to support text detection, image colorization and some other networks.

OpenCV has been optimised for PPC64 (64-bit PowerPC) architecture by mapping the universal intrinsics to VSX. Big thanks to Sayed Adel for the patches.
OpenCL acceleration path of the bioinspired module has been restored. See the bioinspired-based HDR/Background segmentationexample. On Iris Pro HD5200 we get ~5x acceleration over the CPU branch.
KCF tracker has been accelerated by ~40%.

- Hardware-accelerated video encoding/decoding via MediaSDK is now available on Windows too.
87 Alexander Alekhin32 Dmitry Kurtaev20 Vladislav Sovrasov19 Rostislav Vasilikhin19 tribta14 Suleyman TURKMEN10 saskatchewancatch 9 Tomoaki Teshima 8 Maksim Shabunin 6 Ningxin Hu 5 LaurentBerger 5 berak 4 Pavel Rojtberg 4 Steven Puttemans 4 Vitaly Tuzov 3 Pavel Vlasov 3 KUANG Fangjun 3 Boris Fomitchev 3 Igor Wodiany 2 Ryan Fox 2 Nishant Arora 2 Emanuele Ruffaldi 2 Wu Zhiwen 2 Tony0 2 RAJ NATARAJAN 2 Adi Shavit 2 Christof Kaufmann 2 Aleksandr Rybnikov 2 Sayed Adel 2 stalin18 2 Jiri Horner 2 Jasper Shemilt 2 Zoltán Mizsei 2 blendin 1 Ricardo Ribalda Delgado 1 Sayan Sinha 1 Sebastian Höffner 1 Sergey Alexandrov 1 Vivek Wisdom 1 Vladislav Vinogradov 1 Woody Chow 1 Yaron Inger 1 bradford barr 1 catree 1 jodrescher 1 joncrall 1 jrobble 1 lzx1413 1 mevatron 1 pengli 1 tz70s 1 vipinanand4 1 678098 1 woody.chow 1 Adam Rankin 1 Alex Zatsman 1 AlexeyAB 1 Arvid Piehl Lauritsen Böttiger 1 Balint Cristian 1 Benoit Blanchon 1 Bisaloo 1 Camille Barneaud 1 Congxiang Pan 1 David Geldreich 1 Deric Crago 1 Faheel Ahmad 1 Geoff McIver 1 Gregory Morse 1 Guillaume Jacob 1 James Perkins 1 Jeremy Maitin-Shepard 1 John Hany 1 KUANG, Fangjun 1 Kerry Billingham 1 Khem Raj 1 Kim Lindberg Schwaner 1 Lewis B 1 Li Peng 1 Maarten de Vries 1 Martin Seyferth 1 Mattia Rizzolo 1 Patel, Nilaykumar K 1 Peter Fischer 1 Peter J. Stieber 1 Philipp Hasper 1 Pranit Bauva 1 Raymond Kirk19 Alexander Alekhin19 Vladislav Sovrasov13 Anguelos Nicolaou 4 Suleyman TURKMEN 3 Vitaly Tuzov 3 acyen 3 jaco 2 Woody Chow 2 Maksim Shabunin 2 LaurentBerger 2 Andrew Hundt 2 Fernando Martin 1 baudenri 1 f3rm4rf3r 1 jasjuang 1 jrobble 1 klchang 1 Ahmed Yarub Hani 1 woody.chow 1 Albert 1 Cristian Duguet 1 Dmitry Kurtaev 1 Felix Wehnert 1 Francis Charette Migneault 1 Gregor Kovalčík 1 Jaykob 1 Linus Ericsson 1 Nuzhny007 1 Piotr Majkrzak 1 atinfinityAugust, 2017
OpenCV 3.3 with accelerated dnn module, moved to the main repository, first-ever appearance ofHalide in OpenCV, multiple optimizations and other improvements has been released.

opencv_dnn module has been moved from the contribution repository (opencv_contrib) to the mainrepository (opencv) and was significantly improved:
High-level API has been modified and is even more convenient now.
The regression tests have been expanded, some new tests have been added. Now, there are 46 of them.
Many bugs have been fixed in Torch and TF loaders, as well as in some processing layers. Now we check that on a certain set of networks the results from OpenCV DNN match or very close to the results from the original frameworks. We also check that the results claimed in the papers for such networks are achievable with OpenCV DNN.
Performance has been substantially improved. Layer fusion has been implemented and some performance-critical layers have been optimized using AVX, AVX2, SSE and NEON. An external BLAS (OpenBLAS, MKL, ATLAS) is not needed anymore.
Newsamples in C++ and Python have been added.
The optionalHalide backend has been added. It can accelerate OpenCV DNN on GPU when the GPU is fast enough.
SeeDeep Learning in OpenCVfor details about the module.

- Upgraded IPPICV from 2015.12 to 2017.2 version brought ~15% speed improvement into core and imgproc modules (measured as geometrical mean over the corresponding performance tests).

- Dynamic dispatching of SSE4.2/AVX/AVX2 code has been implemented. Previously, OpenCV had to be built with SSE4.x/AVX/AVX2 turned on in order to use such optimizations and that made it incompatible with older hardware. Now the OpenCV binaries automatically adapt to the real hardware and make use of new instructions if they are available while retaining compatibility with older hardware. All the existing AVX/AVX2 optimizations in OpenCV have been refactored to use this technology. AVX acceleration of DNN also uses dynamic dispatching.

OpenCV can now be configured and built as C++ 11 library. Pass
-DENABLE_CXX11=ONto CMake. On some modern Linux distributions, like the latest Fedora, it’s enabled by default.New features for C++ 11 users have been added:
// 1. use parallel_for_ with lambda to compute Mandelbrot fractalparallel_for_(Range(0, img.rows*img.cols), [&](const Range& r) {for (int r = r.start; r < r.end; r++) {int i = r/img.cols, j = r%img.cols, t, maxiter=500;complex<float>z0(j *2.7f/img.cols –2.1f, i *2.4f/img.rows –1.2f);for (t =0; t < maxiter; t++) {if (z.real()*z.real()+z.imag()*z.imag()>4.f)break; z = z*z + z0; } img.at<uchar>(i, j)=uchar(sqrt((float)t/maxiter)*255);}});// 2. using C++ 11 initializersauto A = Mat_<double>({0, -1,0, -1,5, -1,0, -1,0}).reshape(1,3);Vec_<int,10> digits = {0,1,2,3,4,5,6,7,8,9};// 3. apply LUT to 8-bit image in C++ 11 styleMat_<Vec3b> img = imread("lena.jpg");for(auto& pixel: img ) { pixel[0] = gamma_lut[pixel[0]]; pixel[1] = gamma_lut[pixel[1]]; pixel[2] = gamma_lut[pixel[2]];}

Support for hardware-accelerated video encoding/decoding using Intel GPUs through Intel Media SDK has been implemented for Linux (in the form of backends for
cv::VideoCaptureandcv::VideoWriter).Encoding and decoding of raw H.264 and MPEG1/2 video streams is supported, media containers are not supported yet.
Note that system kernel should have specific support for hardware as mentioned in theMedia SDK/Server Studio installation guide. In some cases kernel recompilation will be needed.
See also:https://github.com/Intel-Media-SDK
210Alexander Alekhin 36Vladislav Sovrasov 35Tomoaki Teshima 31Vitaly Tuzov 26Maksim Shabunin 21Fangjun KUANG 17chacha21 14LaurentBerger 12berak 11Rostislav Vasilikhin 11catree 10dkurt 8Matthias Grundmann 8Pavel Rojtberg 8Pyotr Chekmaryov 8Vadim Pisarevsky 8Woody Chow 7Aleksandr Rybnikov 7atinfinity 6Hamdi Sahloul 6vskarlsruhe 5Jiri Horner 5KUANG, Fangjun 5Michele Cancilla 5StevenPuttemans 4Dal Rupnik 4Naba Kumar 4Pavel Vlasov 4chrizandr 4saskatchewancatch 3Claudio 3Jaime O. Rios 3Peter Würtz 3PkLab.net 3Suleyman TURKMEN 3Wenju He 3Yuriy Solovyov 3abratchik 3nnorwitz 3oulenz 2Alexander Broemmer 2Artem Lukoyanov 2Chaoshuai Lu 2Drew Hintz 2Kerry Billingham 2LukeZhu 2Matt Bennett 2Philipp Hasper 2Rink Springer 2Sergiu Deitsch 2Tetragramm 2Tong Ke 2Utkarsh Sinha 2jveitchmichaelis 2lewisjb 2mshabunin 2tribta 2utibenkei 2ville-v 2ziggy90127 1Adeel 1Adeel Ahmad 1Alessandro Gentilini 1Alexander Duda 1Amro 1André Mewes 1Anupam Sobti 1Arek 1Arkadiusz Raj 1Arnaud Brejeon 1BadrinathS 1Bragadeesh 1Brian Armstrong 1Bryce Evans 1Cartucho 1Christof Kaufmann 1David Carlier 1Dinar 1Dinar Ahmatnurov 1Dmitry Kurtaev 1Duncan Barber 1Egor Pugin 1Fernando Iglesias Garcia 1Frank de Brabander 1Gabriel B. Nunes 1Guilherme William Guedes 1Hans Gaiser 1Ilija Puaca 1Ismo Puustinen 1James Clarke 1Jejos 1Jeremy Maitin-Shepard 1Jinay Patel 1Jiří Sejkora 1Jon Eyolfson 1Jose Gómez 1Juha Reunanen 1Julian Exner 1Julian Tanke 1Kene Udeh 1Kuan-Yi Li 1Kyle Fleming 1Lorena García 1Louie Helm 1Mark Szumowski 1Martin Ganeff 1Neil Shipp 1Neio Zhou 1Nicholas Nadeau 1Ninad P.Chaudhari 1Paolo Perkovic 1Pascal Thomet 1Patrik Huber 1Piotr Semenov 1PkLab 1Raj Natarajan 1Robert Bragg 1Robin Chavignat 1Ryan Pavlik 1Ryuhei Mori 1Sadika Sumanapala 1Satoshi Tanaka 1Sergey 1Shuyu Liang 1Sixela David 1Steve 1Steven Puttemans 1Tim King 1Tony Lian 1Tony Theodore 1Vadzim Piatrou 1Werner Palfinger 1Yakun Wang 1Yuval Langer 1Zhiwei Su 1brian-armstrong-discord 1cDc 1cclauss 1daB0bby 1gylns 1hailong-wang 1huangqinjin 1insoow 1ionut 1jexner 1jqly 1krishraghuram 1kvaghel1 1likan999 1logic1988 1mrquorr 1mschoeneck 1msk-repo01 1n001519 1neok-m4700 1orisano 1puqeko 1q 1remi 1rmensing 1sovrasov 1umbraclet16 1vartenkov 1wykvictor 1wzw 1xuning0 1ylemkimon 1zongwave44Vladislav Sovrasov24Alexander Alekhin14Aleksandr Rybnikov11Hamdi Sahloul11dkurt 9Vadim Pisarevsky 7berak 6LaurentBerger 5Maksim Shabunin 4Balint Cristian 4arrybn 3Dmitry Kurtaev 3Li Peng 3Pavel Rojtberg 3Pavel Vlasanek 3Philipp Hasper 3Suleyman TURKMEN 3jexner 2Kumataro 2Steven Puttemans 2Vladislav Samsonov 2Woody Chow 2atinfinity 2lhelontra 2mshabunin 2np-csu 2olivierpascal 1Diego 1Edgar Riba 1Erik Sandrén 1Erwan Normand 1Haaris 1Jcrist99 1Jeremy Nicola 1Julian Exner 1Justin Hotchkiss Palermo 1Kiran Pradeep 1Leonardo lontra 1Lorena García 1Max-Wang 1Natsuki Kawai 1Rostislav Vasilikhin 1Sergey 1StevenPuttemans 1Tham 1Yorwba 1Yuriy Obukh 1abratchik 1catree 1goldstar616 1logic1988 1nyanp 1oqtvs 1saskatchewancatch 1szk1509 1utibenkeiDecember, 2016
Long-awaited update to OpenCV 3.x release series, with tons of improvements and bug fixes. Bigthanks to everyone who particpated! If you contributed something but your name is missing, please,let us know.

Results from 11 GSoC 2016 projects have been submitted to the library, 9 of them have been integrated already, 2 still pending (the numbers below are the id’s of the Pull Requests in opencv or opencv_contrib repository):
- Ambroise Moreau (Delia Passalacqua) – sinusoidal patterns for structured light and phase unwrapping module (711)
- Alexander Bokov (Maksim Shabunin) – DIS optical flow (excellent dense optical flow algorithm that is both significantly better and significantly faster than Farneback’s algorithm – our baseline), and learning-based color constancy algorithms implementation (689, 708, 722, 736, 745, 747)
- Tyan Vladimir (Antonella Cascitelli) – CNN based tracking algorithm (GOTURN) (718, 899)
- Vladislav Samsonov (Ethan Rublee) – PCAFlow and Global Patch Collider algorithms implementation (710, 752)
- João Cartucho (Vincent Rabaud) – Multi-language OpenCV Tutorials in Python, C++ and Java (7041)
- Jiri Horner (Bo Li) – New camera model and parallel processing for stitching pipeline (6933)
- Vitaliy Lyudvichenko (Anatoly Baksheev) – Optimizations and improvements of dnn module (707, 750)
- Iric Wu (Vadim Pisarevsky) – Base64 and JSON support for file storage (6697, 6949, 7088). Use names like
“myfilestorage.xml?base64”when writing file storage to store big chunks of numerical data in base64-encoded form. - Edgar Riba (Manuele Tamburrano, Stefano Fabri) – tiny_dnn improvements and integration (720: pending)
- Yida Wang (Manuele Tamburrano, Stefano Fabri) – Quantization and semantic saliency detection with tiny_dnn
- Anguelos Nicolaou (Lluis Gomez) – Word-spotting CNN based algorithm (761: pending)
big thanks to all the participants!

- There have been many contributions besides GSoC (big thanks to the authors, which names/nicknames are enclosed in parentheses):
- DICOM support via GDCM library (look4pritam), PAM format support (DmtKats)
- Support GigE cameras via Aravis SDK (thanks to ArkadiuszRaj)
- Interactive camera calibration app, seehttps://github.com/opencv/opencv/tree/master/apps/interactive-calibration, and QR matrix decomposition (Vlad Sovrasov)
- OpenCL accelerations exposed to Python (Nikolay Polyarniy)
- Instrumentation framework for performance testing (Pavel Vlasov)
- Many improvements in tests (Maksim Shabunin, Alexander Alekhin and many other people)
- Weighted median filter (Zhou Chao)
- VGG descriptor, BoostDesc descriptor (Balint Cristian)
- Selective search segmentation (Maximilien Cuony)
- Paillou and Deriche Filter (Laurent Berger)
- Bilateral texture filter (jhlee525)
- BIF descriptor (Alexey Spizhevoy)
- BM3D noise reduction (Bartek Pawlik)
- Fine Grained Saliency (Sebastian Montabone)
- Position-Color-Texture signatures extractor (Gregor Kovalčík)
- Thinning algorithms (Steven Puttemans)
- Fast Line Detector (Jin Han Lee)
- Freetype2 support (@Kumataro)
- etc.

- A lot of improvements have been done in our dnn module (https://github.com/opencv/opencv_contrib/tree/master/modules/dnn):
- The module has been expanded (in particular, LSTM and many other layers have been added) and refactored to support OpenCL acceleration (which is temporarily disabled) (Vitaly Lyudvichenko)
- External BLAS implementations are detected and used to accelerate convolutions (Vitaly Lyudvichenko)
- Added semantic segmentation support + sample, seehttps://github.com/opencv/opencv_contrib/blob/master/modules/dnn/samples/fcn_semsegm.cpp (Vladimir Bystricky)
- Single Shot MultiBox Detector: added missing layers + sample, seehttps://github.com/opencv/opencv_contrib/blob/master/modules/dnn/samples/ssd_object_detection.cpp (Anna Petrovicheva)
- Added importer of TensorFlow models + sample; seehttps://github.com/opencv/opencv_contrib/blob/master/modules/dnn/samples/tf_inception.cpp (Alexander Rybnikov)

- There are also many updates to make sure that OpenCV compiles and runs on modern OSes with modern compilers:
- Ubuntu 16.04 LTS with GCC 5.×. GCC 6.x is supported too.
- OSX 10.11 – 10.12 with XCode 8.x; in particular, we now use the new AVFoundation backend on OSX. Thanks to yoffy, Matthew Self and Ryan Govostes.
- Visual Studio 2015; VS 2017 will likely work too.
- Better support for AArch64 on Linux and Android

- Intel MKL can now be used to accelerate SVD, LU, camera calibration, as well as DNN module.
- Added initial support for Intel Compiler (Intel Compiler 2017 has been tested on Windows and Linux)
- Many SSE optimizations have been done; big thanks to K-Shinotsuka, Tomoaki Teshima, mschoeneck and many other people.
- Several OpenCL kernels, specially optimized for Intel GPUs, have been contributed by Peng Li and others.

- NVidia corporation has donated ARM optimizations for OpenCV, the Carotene library (https://github.com/opencv/opencv/tree/master/3rdparty/carotene).
- CUDA 8 is now supported.
- There is also the new tutorial on installing OpenCV on Tegra platforms by Randy J. Ray:http://docs.opencv.org/master/d6/d15/tutorial_building_tegra_cuda.html, which could probably be useful for other mobile platforms running Linux as well.


- OpenVX 1.x implementations can now be used to accelerate OpenCV, mostly through the HAL mechanism. Build OpenCV with WITH_OPENVX flag turned on and specifty where to find OpenVX (seehttps://github.com/opencv/opencv/blob/master/cmake/FindOpenVX.cmake for details).
- Convenient C++ wrappers for OpenVX that simplify joint use of OpenCV + OpenVX have been created by Andrey Pavlenko. See the examples athttps://github.com/opencv/opencv/tree/master/samples/openvx, the wrappers are in ivx.hpp header.
- External BLAS+Lapack implementations (such as MKL, OpenBLAS, Atlas or Apple’s Accelerate framework) can now be used to accelerate SVD decomposition, LU decomposition etc.
- HAL has been extended to support much more functions such as image warping, color conversion, filtering operations.

- This release features a record number of PRs and bug fixed:
- 778 + 191 PRs merged into opencv + opencv_contrib master since 3.1.0
- 348 bugs and 69 features in opencv master
- 47 bugs and 14 features in opencv_contrib
git shortlog --no-merges -ns 3.1.0..3.2.0 244 Alexander Alekhin 63 Vitaly Tuzov 57 Tomoaki Teshima 54 Maksim Shabunin 51 Vladislav Sovrasov 46 Ilya Lavrenov 40 Rostislav Vasilikhin 33 k-shinotsuka 30 StevenPuttemans 29 Pavel Rojtberg 24 MYLS 18 Marina Noskova 17 catree 15 Alexander Smorkalov 14 Suleyman TURKMEN 13 Vladislav Vinogradov 13 apavlenko 13 berak 12 Alexandr Kondratev 11 mshabunin 10 Dan 10 Pavel Vlasov 10 Valeriy Van 10 atinfinity 10 matze 9 Li Peng 9 abratchik 8 Roman Donchenko 8 Vadim Pisarevsky 7 Aleksandar Atanasov 7 Philipp Hasper 6 ArkadiuszRaj 6 Francisco Facioni 6 LaurentBerger 6 PkLab.net 6 sourin 5 E Sommerlade 5 Eric Zavesky 5 Ishank gulati 5 Matthew Self 5 Philip 5 Tetragramm 4 Amro 4 Andrey Pavlenko 4 Arthur Cinader 4 Christoph Spörk 4 Dikay900 4 Marian Zajko 4 alcinos 4 daB0bby 4 filipsladek 4 ohnozzy 3 Alexander Karsakov 3 Andreas Franek 3 Arek 3 Arkadiusz Raj 3 Dimitrios Katsaros 3 Eric Sommerlade 3 Gilles Rochefort 3 Juha Reunanen 3 Marek Smigielski 3 Mathieu Barnachon 3 Matthew Skolaut 3 Philippe FOUBERT 3 Sergei Nosov 3 Vitaliy Lyudvichenko 3 Your Name 3 a-andre 3 anirudt 3 aravind 3 kurenai 3 panxiaochun 3 shruthikashyap 3 thierry 3 will hunt 3 Прун Виктор 2 Addison Elliott 2 Alexander Shishkov 2 Anatoly Orlov 2 Asal Mirzaieva 2 Bleach666 2 Bob Paulin 2 Cartucho 2 Dan Moodie 2 David Wolever 2 Declan Moran 2 Dmitry Trifonov 2 DozyC 2 Elad Joseph 2 Elif Albuz 2 Eric Liao 2 Erich Keane 2 Hajo Nils Krabbenhöft 2 Hannes 2 Jan Starzynski 2 Joe Howse 2 Jose Luis Guardiola 2 Josh Lubawy 2 Lucas Solomon 2 Naba Kumar 2 Patrick Snape 2 Patrik Huber 2 Peter Rekdal Sunde 2 Piotr Semenov 2 Quentin 2 Randy J. Ray 2 Robbert Klarenbeek 2 Rok Mandeljc 2 Sean McBride 2 Sergiu Deitsch 2 Steven Puttemans 2 Susmit 2 Teng Cao 2 emiswelt 2 jiakai 2 lewgate 2 mschoeneck 2 shengyu 2 takacsd 1 Aaron Simmons 1 Adam Rankin 1 Alexander Fedorov 1 AlexeyAB 1 Ankit Yadav 1 Anton V. Shokurov 1 Anush Elangovan 1 Artyom Lebedev 1 Balint Cristian 1 Bernd Kuhls 1 BinMatrix 1 Bleach 1 Bram Ton 1 CSBVision 1 Christian Kapeller 1 Colin Finck 1 Dmitry Mozgin 1 Dmitry-Me 1 Dustin Spicuzza 1 Eduardo Arnold 1 Elena Gvozdeva 1 Elena Shipunova 1 Emanuel Jöbstl 1 Eugene Khvedchenya 1 Evan Heidtmann 1 Feng Zhoutian 1 Finfa811 1 Fraser Harris 1 Graham Fyffe 1 Gregory Kramida 1 Gregory Morse 1 Guillaume Jacob 1 Guy Sheffer 1 HMM@T430s-x64 1 Han Hu 1 Ian MacLeod 1 Ivar Clemens 1 JR Heard 1 Jake Kesinger 1 Jason von Nieda 1 Jcrist99 1 Jeff McBride 1 Jeroen Kromwijk 1 Jiri Horner 1 Josep Bosch 1 Juan Pablo Aveggio 1 Julien Dehos 1 Julien Dubiel 1 Julien Nabet 1 Kai Hugo Hustoft Endresen 1 Kerry Billingham 1 Kevin Hughes 1 Kevin, Hu 1 KeySecure 1 Kotrix 1 Krishnaraj Bhat 1 Leonardo Brás 1 Leonid Volnitsky 1 Louis Letourneau 1 Luis Roberto Morales Iglesias 1 LukeZhu 1 Matt Leotta 1 Matthew Cook 1 Matthieu FT 1 Matěj Šmíd 1 Michael Shtutman 1 Morrison 1 Nikolay Polyarniy 1 Noel Eck 1 Oded Green 1 Oliver Schreer 1 Oskari Vinko 1 Patrick Spettel 1 Peter Entwistle 1 Philipp Nordhus 1 Philippe Renon 1 Pierre Dulac 1 Pranav Ganorkar 1 Prayag Verma 1 Péter Trombitás 1 Rahul Chhabra 1 S. Garrido 1 Sean Li 1 Sergey Alexandrov 1 Simmo Saan 1 Simon Hänisch 1 Sovrasov 1 Stephane Thiell 1 Steven E Wright 1 Tauranis 1 Thierry Fauck 1 Thomas Schenker 1 Tomi 1 Tsukasa Sugiura 1 Vadzim Piatrou 1 Vincent Rabaud 1 WANG Guoqin 1 Xiaolei Yu 1 Zhenqing, Hu 1 Zhigang Gong 1 ahb 1 arybnikov 1 bedbad 1 chacha21 1 danil-tolkachev 1 debjan 1 dharezlak 1 fegorsch 1 ggargov 1 guoxuedong 1 jacobdang 1 joao.faro 1 logic1988 1 look4pritam 1 monoid911 1 mpkh 1 mrquorr 1 mvukad 1 parismita 1 qiao 1 renu285 1 rishirajsurti 1 robertxwu 1 sarthak 1 solosuper 1 stbnps 1 themightyoarfish 1 viodetools 1 yigitsoy 1 yoffy 1 Özgür Cangit shortlog --no-merges -ns 3.1.0..3.2.0 43 Vitaliy Lyudvichenko 30 Alexander Alekhin 29 Anna Petrovicheva 25 Vladislav Samsonov 25 Vladislav Sovrasov 21 Gary Bradski 15 Pavel Rojtberg 12 berak 10 Balint Cristian 5 Maksim Shabunin 5 Suleyman TURKMEN 5 apetrovichev 5 lluisgomez 4 Alexander Bokov 4 Amro 4 StevenPuttemans 4 mshabunin 3 Jinhan Lee 3 Patrick Snape 3 Rok Mandeljc 3 Steve Nicholson 3 folz 3 vbystricky 2 LaurentBerger 2 Maximilien Cuony 2 Prof. Dr. Rudolf Haussmann 2 Vadim Pisarevsky 2 Vitaly Tuzov 2 Yuki Furuta 2 catree 2 sbokov 1 Aleksandr Rybnikov 1 Alexey Spizhevoy 1 AmbroiseMoreau 1 Amy Winston 1 Andrea Merello 1 Bartek Pawlik 1 Bleach 1 Bleach666 1 Christian Richardt 1 Daniel Ching 1 Dikay900 1 Eric Zavesky 1 Eugene Mamin 1 Geoff 1 Gregor Kovalcik 1 Gregory Kramida 1 Gunshi Gupta 1 Han Hu 1 Konstantin Volokh 1 Kotrix 1 Kumataro 1 Lorena García 1 MambaWong 1 Marek Smigielski 1 Martin Nowak 1 Minh Ngo 1 Nicu Stiurca 1 Pavel Vlasanek 1 Rostislav Vasilikhin 1 Sarthak Ahuja 1 Sunglok Choi 1 Thomas Schulz 1 VBystricky 1 Vasilikhin 1 Vladimir 1 Wu Jiang 1 Zhou Chao 1 abratchik 1 alessiodore 1 andrewk-mccann 1 aravind 1 baisheng lai 1 comdiv 1 damir 1 edgarriba 1 jasjuang 1 jhlee525 1 lukaszi89 1 lych77 1 samontab 1 sht3ch 1 tharunkalwaDecember, 2015
This is the first stabilization update in 3.x series. It shall be reminded that since OpenCV 3.0we’ve changed the version enumeration scheme, so that 3.1 is the same sort of update to 3.0 as 2.4.1was to 2.4.0.

- There have been many successful projects this year (student and mentor(s) are listed after the project name), and the results are available as a part of OpenCV 3.1 (partially in the main repository, but mostly opencv_contrib):
- Omnidirectional Cameras Calibration and Stereo 3D Reconstruction – opencv_contrib/ccalib module (Baisheng Lai, Bo Li)
- Structure From Motion – opencv_contrib/sfm module (Edgar Riba, Vincent Rabaud)
- Improved Deformable Part-based Models – opencv_contrib/dpm module (Jiaolong Xu, Bence Magyar)
- Real-time Multi-object Tracking using Kernelized Correlation Filter – opencv_contrib/tracking module (Laksono Kurnianggoro, Fernando J. Iglesias Garcia)
- Improved and expanded Scene Text Detection – opencv_contrib/text module (Lluis Gomez, Vadim Pisarevsky)
- Stereo correspondence improvements – opencv_contrib/stereo module (Mircea Paul Muresan, Sergei Nosov)
- Structured-Light System Calibration – opencv_contrib/structured_light (Roberta Ravanelli, Delia Passalacqua, Stefano Fabri, Claudia Rapuano)
- Chessboard+ArUco for camera calibration – opencv_contrib/aruco (Sergio Garrido, Prasanna, Gary Bradski)
- Implementation of universal interface for deep neural network frameworks – opencv_contrib/dnn module (Vitaliy Lyudvichenko, Anatoly Baksheev)
- Recent advances in edge-aware filtering, improved SGBM stereo algorithm – opencv/calib3d and opencv_contrib/ximgproc (Alexander Bokov, Maksim Shabunin)
- Improved ICF detector, waldboost implementation – opencv_contrib/xobjdetect (Vlad Shakhuro, Alexander Bovyrin)
- Multi-target TLD tracking – opencv_contrib/tracking module (Vladimir Tyan, Antonella Cascitelli)
- 3D pose estimation using CNNs – opencv_contrib/cnn_3dobj (Yida Wang, Manuele Tamburrano, Stefano Fabri)

- Besides GSoC, we have multiple contributions from the community; below is the partial list of contributed functionality:
- plot module – Nuno Moutinho
- ni-black thresholding algorithm – ximgproc, Samyak Datta
- Superpixel segmentation using Linear Spectral Clustering, SLIC superpixels – ximgproc, Balint Cristian
- HDF (HDF5) support module – Balint Cristian
- Depth to external RGB camera registration – rgbd, Pat O’Keefe
- Computing normals for a point cloud – rgbd, Félix Martel-Denis
- Fuzzy image processing module – Pavel Vlasanek
- Rolling guidance filter – ximgproc, Zhou Chao
- 3x faster SimpleFlow – optflow, Francisco Facioni
- Code and docs for CVPR 15’ paper “DNNs are easily fooled” – Anh Nguyen
- Efficient Graph-based image segmentation algorithm – ximgproc, Maximilien Cuony
- Sparse-to-dense optical flow – optflow, Sergey Bokov
- Unscented Kalman Filter (UKF) and Augmented UKF – tracking, Svetlana Filicheva
- Fast Hough Transform – ximgproc, xolodilnik
- Improved performance of haartraining – Teng Cao
- Python samples made compatible with Python 3 – bastelflp
![]()
- The iOS framework (opencv2.framework) can now be configured to include both opencv and opencv_contrib functionality. Previously, there were 2 separate frameworks, but because of the include directory names (“opencv2/…”, regardless of whether some module is from opencv or from opencv_contrib), the produced opencv_contrib was unusable.

- more efficient camera support on Android 5+
- faster round() on ARM (it’s also applicable to iOS); big thanks to Manuele Tamburano and Stefano Fabri for this!


- OpenCV 3.1 supports fresh OSes from Microsoft and Apple, as well as the newest development tools (VS2015 and Xcode 7, respectively).

- IPPICV (a specially-for-opencv free-of-charge subset of IPP (https://software.intel.com/en-us/intel-ipp) that has been kindly provided by Intel Corporation) is now based on IPP 9.0.1, which should make OpenCV even faster on modern Intel chips.

- There are multiple new features in the OpenCL layer, resulted from our collaboration with Intel Corporation
- Improved/extended interoperability with DirectX 9, 10, 11. That includes conversions between DX Surface and UMat, with number of copying operations reduced where possible. See opencv/samples/directx.
- Interoperability with Video Acceleration API on Linux. This feature requires Intel Media Server Studio (https://software.intel.com/en-us/intel-media-server-studio/try-buy) and uses Intel’s cl_intel_va_api_media_sharing extension to OpenCL. See opencv/samples/va_intel
- OpenCL<=>OpenGL interoperability via cl_khr_gl_sharing extension. It’s possible now to convert OpenGL textures and OpenGL buffers to/from UMat. See opencv/samples/opengl.
- OpenCL<=>OpenCL interoperability. It means, people can now use OpenCL-accelerated OpenCV together with their custom OpenCL code and/or other OpenCL libraries. See opencv/samples/opencl for details.
- Support for Camera2 API in Android 5+. See opencv/samples/android/tutorial-4-opencl, the tutorial that demonstrates 3 ways of processing data from camera:
- purely CPU pipeline (3-4 fps on our test device)
- OpenCV-based using UMat and transparent API (10-13 fps on the same device)
- direct use of OpenCL (28-30fps). This is the fastest method, as you can see, because it uses OpenCL images, whereas more universal T-API has to use OpenCL buffers.

- HAL (Hardware Acceleration Layer), as a separate OpenCV module, opencv_hal, lived a short yet a bright life; we decided to split it by parts and move the parts into the respective regular OpenCV modules (core, imgproc etc.). It will help us to keep the dependency graph clean and sane.
- Added 2 examples (see opencv/samples/hal) on how to provide external accelerated versions of the HAL functions; note that an external implementation does not have to implement all of the HAL. The supplied README explains how to build the custom HAL accelerator, and how to build OpenCV with such a custom HAL replacement:https://github.com/opencv/opencv/tree/master/samples/hal
- Added some more few functions to the HAL (arithmetic operations, split, merge); much more to come in OpenCV 3.2

- Over 420 pull requests to opencv and over 100 pull requests to opencv_contrib have been merged in since 3.0.0. Big thanks to all the people who submitted bug fixes, new functionality and other small and big improvements! Special thanks goes to all the GSoC 2015 students and mentors, who created a lot of great functionality!
git shortlog --no-merges -ns 3.0.0..3.1.0 146 Vladislav Vinogradov 109 Alexander Alekhin 103 Alexander Smorkalov 73 Maksim Shabunin 68 Ilya Lavrenov 48 Roman Donchenko 47 StevenPuttemans 45 Pavel Rojtberg 28 Andrey Pavlenko 25 Seon-Wook Park 20 Pavel Vlasov 20 Suleyman TURKMEN 18 Viet Dinh 17 Alexey Ershov 15 berak 14 Vladimir Dudnik 13 Artur Wieczorek 12 Dan 12 Lorena García 10 Dikay900 10 ippei ito 9 Mansour Moufid 8 E Braun 8 Grigory Serebryakov 7 Alexander Karsakov 7 Alexander Nitsch 7 Vadim Pisarevsky 7 Vijay Pradeep 6 LaurentBerger 6 Marian Zajko 6 Nguyen Nguyen 6 Philipp Hasper 6 flp 6 sbokov 5 Andreas Stührk 5 PhilLab 5 Rok Mandeljc 5 Ruslan Baratov 5 askourik 5 songyuncen 4 Abe Friesen 4 Aman Verma 4 Dan Moodie 4 Dinar Ahmatnurov 4 Dominik Kleiser 4 Elad Joseph 4 Gleb Gladilov 4 Ishant Mrinal Haloi 4 Mike Maraya 4 Tom Stellard 4 Vitaly Tuzov 4 edgarriba 4 grundman 4 hoangviet1985 4 themightyoarfish 3 Adam Gibson 3 Andrey Kamaev 3 Camille 3 Cédric Rousseau 3 Elena Shipunova 3 Gregory Morse 3 Hajo Nils Krabbenhöft 3 Igor Kuzmin 3 Maxim Kostin 3 Renato Florentino Garcia 3 Richard Yoo 3 Samuel Martin 3 Seunghoon Park 3 Teng Cao 3 Yan Wang 3 a-andre 3 jiakai 3 unknown 2 Aleksandr Petrikov 2 Alex Torres 2 Alexander Duda 2 Anatoly Baksheev 2 Andrew Senin 2 Anton V. Shokurov 2 Ariel Bernal 2 Balint Cristian 2 Ben Hagen 2 Bruno Goncalves 2 Daniel Stonier 2 Dmitry Melnichenko 2 Enes Ateş 2 Evgeny Talanin 2 GregoryMorse 2 Jan S. (Milania1) 2 John Stowers 2 Leonid Beynenson 2 Luis Díaz Más 2 Nils Plath 2 Nisarg Thakkar 2 Philippe FOUBERT 2 Pierre Letessier 2 Prof. Dr. Rudolf Haussmann 2 Rodrigo Benenson 2 Sergey Alexandrov 2 Sergiu Dotenco 2 Tsukasa Sugiura 2 Vicente Olivert Riera 2 Vincent Rabaud 2 Vladimir Kolesnikov 2 WilhelmHannemann 2 howtobeahacker 2 jayceelock 2 jisli 2 kalistratovag 2 lujia 2 paul.kim 2 qubick 2 robertxwu 2 theodore 1 Aaron Simmons 1 Abhijit Kundu 1 Adam 1 Adam Geitgey 1 Adi Shavit 1 Adrian Clark 1 AfterEight 1 Alankar Kotwal 1 Alexander Petrikov 1 Alexander Stohr 1 AlexanderStohr 1 Amro 1 Andreas Franek 1 Antonella Cascitelli 1 Anush Elangovan 1 Ashley Stacey 1 Ashod Nakashian 1 Belev 1 Benoit Seguin 1 Bert 1 Boris Daskalov 1 Bovaz 1 Brian Park 1 Chris Kitching 1 Chris Mayo 1 Christian Richardt 1 ComFreek 1 Craig Reynolds 1 Deanna Hood 1 Dmitry Budnikov 1 Dmitry Gribanov 1 Drew Jetter 1 Ehren Metcalfe 1 Eric Sommerlade 1 Evgeny Agafonchikov 1 Firat Kalaycilar 1 Florent 1 GabrieleDalmazzone 1 HelenWong 1 Hernan Badino 1 Ignas Daukšas 1 Ishank gulati 1 Jaime Fernandez 1 Jan Starzynski 1 Jay Bosamiya 1 Jeremy Huddleston Sequoia 1 Jie Yang 1 Joe Howse 1 Jonas Vautherin 1 Josh Klontz 1 Jüri Aedla 1 Kauê de Moraes Vestena 1 Kazuki Matsuda 1 Keita Kita 1 Kevin Hughes 1 Lectem 1 LeonidBeynenson 1 Leszek Swirski 1 Manfred Georg 1 ManuelFreudenreich 1 Martijn Liem 1 Martin Ueding 1 Mat Moore 1 Matteo Piovanelli 1 Maximilien Cuony 1 Miguel Algaba 1 Milania1 1 Nghia Ho 1 Nickolay Polyarniy 1 Niklas Frisk 1 Nikolay Polyarniy 1 Oliver Lumby 1 Pastafarianist 1 Patrik Huber 1 Philip Salvaggio 1 Pierre Moulon 1 Pierre-Emmanuel Viel 1 Raaj 1 RafaRuiz 1 Rafael Sadowski 1 René 1 Robbert Klarenbeek 1 Rohit Rawat 1 S. Garrido 1 Samyak Datta 1 Sethur 1 Simon Heinen 1 Stefan Cornelius 1 Stephen Mell 1 Steven Puttemans 1 Thomas Dunker 1 Thomas Gabrowski 1 Thomas Weisbach 1 Tian Zhi 1 Tim D. Smith 1 Valentin Tsatskin 1 ValeryTyumen 1 Vipul Sharma 1 Vitaliy Lyudvichenko 1 Wangyida 1 Wenju He 1 Yang Fan 1 Ying Xiong 1 Youssef Kashef 1 aletheios 1 alexander barakin (aka sash-kan) 1 art-programmer 1 ausentso 1 bhack 1 boatx 1 brossetti 1 comdiv 1 doltac 1 emiswelt 1 greensea 1 jormansa 1 manuele 1 mattip 1 mbarann 1 micalan 1 michaelveth 1 niederb 1 quentin 1 rajithr 1 scorneli 1 spmallick 1 teng88 1 thebucc 1 ttagu99 1 ultrafro 1 侯骥git shortlog --no-merges -ns 3.0.0..3.1.0 169 Vladimir 48 Kurnianggoro 29 Wangyida 19 Muresan Mircea Paul 18 lluis 17 baisheng lai 16 Maksim Shabunin 14 Anh Nguyen 13 Lluis Gomez-Bigorda 10 nunombmoutinho@gmail.com 9 Seon-Wook Park 9 Vlad Shakhuro 9 nmoutinho 8 Oded Green 8 Patrick Snape 8 Zhou Chao 8 berak 6 xolodilnik 5 Baisheng Lai 5 Marc-Stefan Cassola 5 Pavel Rojtberg 5 felix 5 sbokov 4 Alexander Alekhin 4 Alexander Stohr 4 StevenPuttemans 4 edgarriba 3 Balint Cristian 3 Francisco Facioni 3 Maximilien Cuony 3 jiaolong_x220 2 Aakash Chopra 2 Jan S. (Milania1) 2 RobertaRavanelli 2 S. Garrido 2 Samyak Datta 2 Vadim Pisarevsky 2 Yang Fan 1 103yiran 1 Alex Tomala 1 Clint Pells 1 Dikay900 1 DirtyMaster 1 Hyunjun Kim 1 Jesus Briales 1 Jesús Briales 1 MMp131316 1 Pat O'Keefe 1 Philipp Hasper 1 Rok Mandeljc 1 Suleyman TURKMEN 1 Sunglok Choi 1 SvetlanaFilicheva 1 Vitaliy Lyudvichenko 1 Yan Wang 1 baudenri 1 comdiv 1 grundman 1 howtobeahacker 1 lar-lab-unibo 1 m4nh 1 manuele 1 previ 1 tucnaJune, 2015
These are changes since 3.0 rc1.

- Over 200 bugs reported athttp://code.opencv.org/projects/opencv/issues have been resolved/closed. It includes many fixes in docs, build scripts, python wrappers, core, imgproc, photo, features2d, objdetect, contrib modules, as well as some performance improvements etc.

- Added pthreads-based backend for cv::parallel_for_. It means that 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.

- OpenCV Manager on Android has been completely rewritten in Java and now supports both OpenCV 2.4 and 3.0. After a bit more testing we will put it to Google Play.
- 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.

- Many excellent contributions in opencv_contrib/xfeatures2d:
- Christian Balint contributed long-awaited DAISY features
- He also contributed improved version of rotation-invariant BRISK descriptor by Gil Levi
- Gil Levi contributed very nice LATCH binary descriptor that outperforms all presently available in OpenCV binary descriptors (ORB, BRIEF, AKAZE etc.) and is comparable with heavier and slower SURF.

- Over 80 pull requests have been merged in since 3.0 rc. Big thanks to all the people who submitted bug fixes, new functionality and other small and big improvements! This time special thanks goes to Philip (Dikay900) who did (and still does) excellent job on porting various bug fixes and other small improvements from 2.4 to master/3.0. Thank you, Philip!
$ git shortlog —no-merges -ns 3.0.0-rc1..origin/master60 Vadim Pisarevsky31 laurentBerger17 Maksim Shabunin10 cbalint137 Maxim Kostin6 Alexander Smorkalov6 Ilya Lavrenov6 StevenPuttemans6 Vladimir Dudnik5 Andrey Pavlenko5 GilLevi3 Dikay9003 Philipp Hasper3 Ruslan Baratov3 rajithr3 sgjava2 Andreas Stührk2 Christian Richardt2 Deanna Hood2 Joe Minichino2 Luis Díaz Más2 Mansour Moufid2 Marek Nogacki2 Martin Ueding2 Vladislav Vinogradov2 Zhigang Gong2 kalistratovag1 AfterEight1 Aleksandr Petrikov1 Alexander Nitsch1 Andrew Senin1 Ashod Nakashian1 Belev1 Boris Daskalov1 Camille1 Craig Reynolds1 David Hirvonen1 Ehren Metcalfe1 Evgeny Agafonchikov1 Jüri Aedla1 Leonid Beynenson1 Martijn Liem1 Marvin Smith1 Michaël Sdika1 Mike Maraya1 Milania11 Niklas Frisk1 Owen Healy1 Patrik Huber1 Piotr Dobrowolski1 Roman Donchenko1 S. Garrido1 Samed Ozdemir1 Samuel Martin1 Samyak Datta1 Thomas Gabrowski1 Vicente Olivert Riera1 Vincent Rabaud1 Vladimir Kolesnikov1 aletheios1 berak1 jormansa1 lujia1 msandler1 yanlend1 zenev$ git shortlog —no-merges -ns 3.0.0-rc1..origin/master19 cbalint1311 GilLevi6 Alexandre Benoit4 Vadim Pisarevsky2 laurentBerger1 BISMOY MURASING1 berak1 rootApril, 2015
These are changes since 3.0 beta.

- Improved compatibility with OpenCV 2.4:
- 2.4.11 now includes “opencv2/core.hpp” and other such headers in addition to standard “opencv2/core/core.hpp”.
- smart pointers (Ptr<>) can now be created in both 2.4 and 3.0 style (new ClassName(params) vs makePtr(params))
- trained and stored stat models from opencv_ml 2.4 can now be loaded and used by opencv_ml 3.0 as-is.
- the 2.4=>3.0 transition guide has been sketched:http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html

- We did not put OpenCV 3 to Google Play yet, but we prepared installable OpenCV 3.0 Manager for Android, which can be installed and tried on your device. It can co-exist with OpenCV 2.4 Manager on the same device.

- There are multiple improvements and bug-fixes for WinRT port (as well as Windows 8.x port) of OpenCV by Microsoft guys (big thanks to Max Kostin!)
- In particular, parallel_for is enabled on WinRT, so the code should run much faster on multi-core devices
- Also, the WMF video capturing backend has been greatly improved.

- Standalone motion jpeg codec has been added to opencv_videoio. It doesnot need ffmpeg or any other 3rd-party lib. According to our measurements, it’s also much faster than ffmpeg, especially on ARM. For the decoder you should have JPEG support enabled (through built-in or external libjpeg). How to use it? To encode motion jpeg video, use .avi file extension and CV_FOURCC(‘M’, ‘J’, ‘P’, ‘G’). The decoder part has been verified on such streams (avi files with index, where each frame is encoded using baseline jpeg) and few random motion jpeg clips from net, but we have not tested it thoroughly.

Preliminary version of OpenCV HAL, low-level acceleration API beneath OpenCV, has been introduced. Currently it includes just a few math functions, but will grow soon. It also includes so-called “universal intrinsics”, inspired by NEON=>SSE conversion header by Victoria Zhislina from Intel:https://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks The idea is that one can use a single SIMD code branch that will compile to either SSE or NEON instructions depending on the target platform. For example,
// a, b and c are floating-point arraysfor(int i =0; i < n; i+=4 )v_store(c + i, v_load(a+i) + v_load(b+i));
will be expanded to either
for(int i =0; i < n; i+=4 )_mm_storeu_ps(c + i, mm_add_ps(_mm_loadups(a+i), mm_loadu_ps(b+i));
or
for(int i =0; i < n; i+=4 )vst1q_f32(c + i, vaddq_f32(vld1q_f32(a+i), vld1qf32(b+i));
Using such intrinsics one can write accelerated code, debug it ondesktop and then run it without any changes on ARM and get reasonable performance.

- Over 500 pull requests have been merged in since 3.0 beta. Big thanks to all the people who submitted bug fixes, new functionality and other small and big improvements! OpenCV becomes more and more a community-driven project and we are pleased to see that!
$ git shortlog —no-merges -ns 3.0.0-beta..origin/master95 Vladislav Vinogradov88 Maksim Shabunin74 Ilya Lavrenov40 Erik Karlsson33 Olexa Bilaniuk28 Vadim Pisarevsky24 Dmitry-Me24 orestis18 StevenPuttemans17 Maxim Kostin15 Yan Wang14 Alexander Alekhin11 Roman Donchenko8 Ashod Nakashian7 Joe Howse7 Nisarg Thakkar6 Andrey Kamaev6 Dikay9005 Alexander Nitsch5 Evgeny Agafonchikov5 TobyWanKenobi5 theodore5 Сергей Нужный4 Andrew Senin4 Artur Wieczorek4 Hamid Bazargani4 Pavel Rojtberg4 berak3 Alexander Smorkalov3 Ben Hagen3 Deanna Hood3 Marvin Smith3 Nicu Știurcă3 Philipp Hasper3 Simon Heinen3 Takahiro Poly Horikawa3 Ying Xiong2 ASUS2 Ahmatnurov Dinar2 Alexander Duda2 Ana Huaman Quispe2 Eric Sommerlade2 Naer Chang2 Nils Plath2 Sync-my-L2P2 VBystricky2 guopei2 ippei ito2 kalistratovag2 karelknoest2 sanuj2 vbystricky1 Adam Borowski1 Adam Greig1 Alexander Bohn / FI$H2k1 Alexander Karsakov1 Andrey Pavlenko1 Ari Suwendi1 Basheer Subei1 Boaz Stolk1 Chris Mayo1 Chuanbo Weng1 Claudio Caraffi1 Daeyun Shin1 Daniel Angelov1 Daniel Sjölie1 Dmitriy Anisimov1 Florian Verdet1 Guo Yejun1 HelenWong1 Jay Bosamiya1 Jiri Drbalek1 Jonathan Viney1 Josep Bosch1 Julien Nabet1 Kai Wolf1 Kevin Squire1 LorenaGdL1 Max Kostin1 Michae Gharbi1 Mike Izbicki1 Nicolas Riebesel1 Owen Healy1 Pat O’Keefe1 Pavel Vlasov1 Prof. Dr. Rudolf Haussmann1 Quentin Minster1 RafaRuiz1 Rok Mandeljc1 S. Garrido1 Samyak Datta1 Sancho McCann1 Scott Graybill1 Shiquan Wang1 Tim D. Smith1 Timur Sattarov1 Tzafrir1 UQ Times1 Yang Fan1 burun1 eltermann1 exeltior1 fhsm1 greensea1 hahne1 mariadeanton1 potpath1 sergei1 soyer1 tcavallari1 tt1 ttagu991 vincentweb$ git shortlog —no-merges -ns 3.0.0-beta..origin/master13 Maksim Shabunin5 cbalint133 Auron-X3 Dikay9003 Str3iber2 Dmitriy Anisimov2 Jay Bosamiya2 Rok Mandeljc2 Vadim Pisarevsky2 berak1 Alfonso Sanchez-Beato1 Antonella Cascitelli1 Beat Küng1 Dinar Ahmatnurov1 Nisarg Thakkar1 Sh01 Shuda Li1 StevenPuttemans1 Vladimir1 Yan Wang1 jiaolong_cvc2281 pmkalshetti1 yifitaNovember, 2014
These are changes since 3.0 alpha.

- Performance of OpenCL-accelerated code on Intel Iris Graphics and Intel Iris Pro Graphics has been improved by 10%-230%. That includes faster Canny edge detector, Laplacian, StereoBM, BruteForceMatcher, BackgroundSubtractorMOG2, StitchingWarpers etc. New OpenCL kernels were implemented for several functions: HoughLines, HoughLinesP, cvtColor (selected modes), Gemm, DFT. Thanks Alexander Alekhin, Alexander Karsakov, Elena Gvozdeva, Vladimir Bystritsky, Sergey Sivolgin and other guys who did that!

- About 40 commonly used image processing functions have been optimized using vector NEON instructions, so OpenCV 3.0 beta should run noticeably faster on modern ARM chips. Big thanks to Ilya Lavrenov for the amazing job!

- Java bindings have been substantially improved. We now have bindings for the updated features2d, background subtractor classes, a part of opencv_contrib etc. Thanks to Maksim Shabunin for the improvements!

- On x86 and x64 platforms OpenCV binaries include and use a subset of Intel® Integrated Performance Primitives (Intel®IPP) by default. OpenCV 3.0 beta includes a subset ofIntel® IPP 8.2.1 with additional optimization for AVX2.

- Over 200 pull requests have been merged in since 3.0 alpha. Big thanks to all the people who submitted bug fixes, new functionality and other small and big improvements! OpenCV becomes more and more a community-driven project and we are pleased to see that!
$ git shortlog —no-merges -ns 3.0.0-alpha..origin/master129 edgarriba71 Ilya Lavrenov45 Alexander Karsakov41 Adrien BAK39 Rahul Kavi37 Vadim Pisarevsky27 Maksim Shabunin20 Ernest Galbrun15 Dmitriy Anisimov14 Artur Wieczorek13 Alexander Mordvintsev12 Alexander Alekhin9 vbystricky9 Alexander Smorkalov9 Rok Mandeljc8 Elena Gvozdeva8 Marc Rollins7 Philipp Hasper5 berak5 ElenaGvozdeva4 PhilLab3 Juan Carlos Niebles3 Alexander Duda3 Alexander Shishkov3 xantares3 jaco3 Brian Park3 Chuanbo Weng3 Igor Kuzmin3 Michele Adduci2 Andrey Pavlenko2 Bence Magyar2 Miroslav Benes2 Shubhra Pandit2 StevenPuttemans2 abidrahmank2 f-morozov2 micha1371 Jose-Luis Blanco-Claraco1 Pat O’Keefe1 Pavel Vlasov1 John Kua1 Huu Nguyen1 Pierrick Koch1 Poly Takahiro Horikawa1 GregoryMorse1 Felix Endres1 Benoit Seguin1 jeremy1 Tomasz Posłuszny1 U-KruchininD-ПК\KruchininD1 VBystricky1 Dmitry Gribanov1 Yan Wang1 Yusuke Suzuki1 Anatoly Baksheev1 bartaandras1 Daniel Stonier1 dkanafeev1 Boaz Stolk1 eltermann1 Ling Wang@z77x1 Manfred Georg1 Leszek Swirski1 Matthew Conway1 Maximilien Cuony1 Ariel Elkin$ git shortlog —no-merges -ns e2fde8..origin/master69 biagio montesano55 Vlad Shakhuro46 Alex Leontiev36 Bellaktris28 Vadim Pisarevsky24 lluis19 dmitriy.anisimov18 vludv11 Dmitriy Anisimov10 Bence Magyar10 Daniel Angelov10 Alexander Shishkov9 ahb6 tpietruszka5 Maksim Shabunin5 Beat Küng4 manuele4 StevenPuttemans4 Alexander Mordvintsev4 vbystricky3 Philipp Hasper3 berak3 Sancho McCann2 Alexander Alekhin2 Ilya Lavrenov2 Alexandre Benoit1 tolgabirdal1 Shuda Li1 Rok Mandeljc1 VBystricky1 Poly Takahiro Horikawa1 Michele Adduci1 Ernest GalbrunAugust, 2014
This is brief version of the change log. There is also a separate page with detailed review ofOpenCV_3.0

- OpenCV 3.0 brings more GPU accelerated functions and makes it in much more convenient form than OpenCV 2.4.
- The new technology is nick-named “Transparent API” and, in brief, is extension of classical OpenCV functions, such as cv::resize(), to use OpenCL underneath. See more details about it here:T-API.
- Along with OpenCL code refactoring and Transparent API implementation OpenCL kernels were optimized for mainstream platforms, most notably for modern Intel chips (including Iris and Iris Pro) and AMD chips (such as Kaveri). More detailed results are to be provided later.

- On x86 and x64 platforms OpenCV binaries include and use a subset of Intel® Integrated Performance Primitives (Intel®IPP) by default. Intel Corporation granted OpenCV Foundation and all our users the right to use those functions free of charge for both non-commercial and commercial use.

- We now have a separate repository for community-contributed codehttp://github.com/opencv/opencv_contrib. It will help us to combine well-known maturity and stability of classical OpenCV functionality together with innovative algorithms and opens new opportunities for community to share computer vision code. For all the contributed code we provide the same QA infrastructure as for the main OpenCV repository. How to use it?
- Grab a copy of contribution repositoryhttp://github.com/opencv/opencv_contrib along with a copy of OpenCV 3.0 alpha or a fresh master snapshot.
- Pass
OPENCV_EXTRA_MODULES_PATH=<path_to_contrib_directory>/modulesto CMake. - Documentation for the contributed modules is integrated into OpenCV doc tree:http://docs.opencv.org/master

- We completely revised our QA infrastructure (big thanks to Alexander Alekhin), which now covers not only the main repository, but also the contrib repository as well:http://pullrequest.opencv.org.


- OpenCV 3.0 and its contribution repository feature a lot of new functionality created by our GSoC students during the past 2 years, namely:
- Text detection and recognition by Lluis Gomez and Stefano Fabri
- HDR by Fedor Morozov
- KAZE/A-KAZE by Eugene Khvedchenya, the algorithm author Pablo Alcantarilla and some improvements by F. Morozov.
- Smart segmentation and edge-aware filters by Vitaly Lyudvichenko, Yuri Gitman, Alexander Shishkov and Alexander Mordvintsev
- Car detection using Waldboost, ACF by Vlad Shakhuro and Nikita Manovich
- TLD tracker and several common-use optimization algorithms by Alex Leontiev
- Matlab bindings by Hilton Bristow, with support from Mathworks.
- Greatly extended Python bindings, including Python 3 support, and several OpenCV+Python tutorials by Alexander Mordvintsev, Abid Rahman and others.
- 3D Visualization using VTK by Ozan Tonkal and Anatoly Baksheev.
- RGBD module by Vincent Rabaud
- Line Segment Detector by Daniel Angelov
- Many useful Computational Photography algorithms by Siddharth Kherada
- Shape descriptors, matching and morphing shapes (shape module) by Juan Manuel Perez Rua and Ilya Lysenkov
- Long-term tracking + saliency-based improvements (tracking module) by Antonella Cascitelli and Francesco Puja
- Another good pose estimation algorithm and the tutorial on pose estimation by Edgar Riba and Alexander Shishkov
- Line descriptors and matchers by Biagio Montesano and Manuele Tamburrano

- There are many other contributions, besides GSoC programs. Here is incomplete list (PLEASE, mail to admin at opencv.org if your name is missing here):
- Myriads of improvements in various parts of the library by Steven Puttemans; thank you a lot, Steven!
- Several NEON optimizations by Adrian Stratulat, Cody Rigney, Alexander Petrikov, Yury Gorbachev and others.
- Fast foreach loop over cv::Mat by Kazuki Matsuda
- Image alignment (ECC algorithm) by Georgios Evangelidis
- GDAL image support by Marvin Smith
- RGBD module by Vincent Rabaud
- Fisheye camera model by Ilya Krylov
- OSX framework build script by Eugene Khvedchenya
- multiple FLANN improvements by Pierre-Emmanuel Viel
- Improved WinRT support by Gregory Morse
- Latent SVM Cascade by Evgeniy Kozhinov and NNSU team (awaiting integration)
- Logistic regression by Rahul Kavi
- Five-point pose estimation algorithm by Bo Li
Also, big thanks to all the Itseez guys who reviewed patches, watched bug reports and helped OpenCV in many other ways:Alexander Shishkov (who also maintains opencv.org site), Andrey Pavlenko, Alexander Alekhin, Alexander Smorkalov, Roman Donchenko, Kirill Kornyakov, Andrey Kamaev, Sergey Sivolgin, Vladimir Bystritsky, Sergey Nosov, Nikita Manovich, Evgeniy Talanin, Elena Gvozdeva, Alexander Karsakov, Konstantin Matskevich, Ilya Lavrenov, Anna Kogan, Ivan Korolev, Dinar Ahmatnurov, Andrey Senin, Vlad Vinogradov, Alexey Spizhevoy, Anatoly Baksheev, Marina Kolpakova, Daniil Osokin, Leonid Beynenson, Dmitry Retinsky, Maria Dimashova, Ilya Lysenkov, Andrey Morozov, Victor Eruhimov, Alexander Bovyrin, Sergey Molinov, Gary Bradski, Vincent Rabaud, Harris Gasparakis, Stefano Fabri and many others.

- Although OpenCV 3 can be viewed as refined OpenCV 2 and is similar to the latter, this new version is not completely backward-compatible with OpenCV 2. Here are some major changes:
Some functionality has been moved to opencv_contrib repository or just disappeared. After revision, we may put a part of disappeared functionality back to opencv (or opencv_contrib).
Note that among the moved functionality is Face Recognition (now a separate module opencv_contrib/face); SIFT, SURF, FREAK, Star feature detectors and descriptors (now a part of opencv_contrib/xfeatures2d); text detector (now a part of module opencv_contrib/text); matlab bindings (opencv_contrib/matlab); motion templates & simple flow (opencv_contrib/optflow).
In OpenCV 3 we write
#include “opencv2/core.hpp”instead of
#include “opencv2/core/core.hpp”The old method should also work.
ML module has been completely revised (and at the moment the functionality is not 100% match for OpenCV 2.4.x), you will need to update your code.
Similarly to ML, many high-level algorithms have been refactored to follow “open interface-hidden implementation” concept and this refactoring work will continue after alpha.
To lower the footprint, highgui module has been split into 3 parts: imgcodecs, videoio and highgui itself (thanks to Vladimir). You may need to update your code.
After massive functionality migration to opencv_contrib and other major changes some Python bindings may be missing. We will fix it by OpenCV 3.0 beta.
April, 2014

- Several improvements in OpenCL optimizations (
ocl::sum,ocl::countNonZero,ocl::minMax, bitwise operationss, Haar face detector, etc)

- Multiple fixes in Naitve Camera (NativeCameraView, cv::VideoCapture);
- Improved CUDA support for all CUDA-enabled SoCs.

New VTK-based 3D visualization module
vizstabilized and back-ported to 2.4 branch. The module provides a very convenient way to display and position clouds, meshes, cameras and trajectories, and simple widgets (cube, line, circle, etc.). Full demo video can be found atItseez Youtube channelNumerous bugfixes in code and docs from community

- 156 pull requests have been merged since version#20

- 55 reported bugs have been closed since version#20
$ git checkout 2.4.9$ git shortlog --no-merges -n -s 2.4 --not 2.4.836 Alexander Smorkalov35 Ilya Lavrenov33 Vladislav Vinogradov23 Anatoly Baksheev16 Andrey Pavlenko9 Maks Naumov8 Roman Donchenko6 Pierre-Emmanuel Viel6 yash5 Daniil Osokin4 Alexander Karsakov4 Alexander Shishkov4 Matti Picus4 Nghia Ho4 Stuart Cunningham4 Vadim Pisarevsky3 Alexander Alekhin3 Kang Liu3 Seunghoon Park3 Vincent Rabaud2 Firat Kalaycilar2 Martin Jul2 RJ22 berak1 Alessandro Trebbi1 Cody Rigney1 ComFreek1 Dave Hughes1 David Rolland1 Drew Jetter1 Evgeniy1 Ian Taylor1 JinoBetti1 Kazuki Matsuda1 Kirill Kornyakov1 Konstantin Matskevich1 Linquize1 Marijan Vukcevich1 Martin Chodakowski1 Robbert Klarenbeek1 Vladimir Kolesnikov1 Zhigang Gong1 ahb1 kuroda sho1 kurodashDecember, 2013

- User provided OpenCL context can be used by OpenCV (ocl::initializeContext )
- A separate OpenCL command queue is created for every CPU thread (allows concurrent kernels execution)
- Some new OpenCL optimizations and bug-fixes

- NVidia CUDA support on CUDA capable SoCs;
- Android 4.4 support, including native camera;
- Java wrappers for GPU-detection functionsfrom core module were added;
- New sample with CUDA on Android was added;
- OpenCV Manager and apps hanging were fixed on Samsung devices withAndroid 4.3 (#3368, #3372, #3403, #3414, #3436)

- Static linkage support for native C++ libraries;

- 139 pull requests have been merged since version:2.4.7!

- 32 reported bugs have been closed since version:2.4.7
$ git checkout 2.4.8$ git shortlog --no-merges -n -s 2.4 --not 2.4.742 Alexander Smorkalov35 Ilya Lavrenov15 Roman Donchenko15 Vladislav Vinogradov14 Alexander Alekhin11 krodyush10 Andrey Pavlenko9 Vladimir Bystricky8 StevenPuttemans7 Baichuan Su7 Konstantin Matskevich7 perping6 Adrien BAK6 Mimmmo Cosenza6 Vincent Rabaud4 Peter Andreas Entschev4 Philippe FOUBERT3 Anatoly Baksheev3 berak2 Alexander Karsakov2 Bo Hu2 GregoryMorse2 Piotr Miecielica2 moodoki1 Alex Willisson1 Alexander Shishkov1 Alfonso (the fonz) de la Osa1 Andrey Kamaev1 Eric Sommerlade1 Josep Bosch1 Kiran Pradeep1 Matthias Bady1 Peng Xiao1 Pierre-Emmanuel Viel1 Séverin Lemaignan1 Zhigang Gong1 dpen20001 huangs1 tim36272November, 2013

- Now ‘ocl’ module can be built without installing OpenCL SDK (Khronos headers in OpenCV tree);
- Dynamic dependency on OpenCL runtime (allows run-time branchingbetween OCL and non-OCL implementation);
- Changing default OpenCL device via
OPENCV_OPENCL_DEVICEenvironment variable (without app re-build); - Refactoring/extending/bug-fixing of existing OpenCL optimizations,updated documentation;
- New OpenCL optimizations of SVM, MOG/MOG2, KalmanFilter and more;

- New optimization for histograms, TV-L1 optical flow and resize;
- Updated multi gpu sample for stereo matching;
- Fixed BGR<→YUV color conversion and bitwize operations;
- Fixed several build issues;

- Android NDK-r9 (x86, x86_64) support;
- Android 4.3 support: hardware detector (Bugs #3124, #3265, #3270)and native camera (Bug #3185);
- MediaRecorder hint enabled for all Android devices with API level 14 and above;
- Fixed JavaCameraView slowdown (Bugs #3033, #3238);

- Fixed MS Certification test issues for all algorithmical modules andhighgui, except OpenEXR and Media Foundation code for camera;
- Implemented XAML-based sample for videoprocessing using OpenCV;
- Fixed issue in Media Foundation back-end for VideoCapture (#3189);

- 382 pull requests have been merged since version:2.4.6!

- 54 reported bugs have been fixed since version:2.4.6 (issue tracker query)
$ git checkout 2.4.7$ git shortlog --no-merges -n -s 2.4 --not 2.4.6111 Ilya Lavrenov83 Alexander Alekhin79 Roman Donchenko41 Alexander Smorkalov36 peng xiao34 Jin Ma32 Vladislav Vinogradov27 StevenPuttemans19 yao17 Andrey Pavlenko13 kdrobnyh12 ilya-lavrenov9 Alexander Shishkov8 Vadim Pisarevsky7 Greg Hale7 Jan Starzynski6 Bahram Dahi5 Dmitry Retinskiy5 Nghia Ho5 konstantin5 perping3 Alexander Mordvintsev3 Frederic Devernay3 Kirill Kornyakov3 Peng Xiao3 Sebastian KrA¤mer3 WonderRico3 kamjagin2 Alexander Pacha2 Daniil Osokin2 Gabe Schwartz2 Hanusz Leszek2 Nikita Manovich2 Philippe FOUBERT2 Zac Stewart1 Alexander Karsakov1 Andrew Senin1 Baris Evrim Demiroz1 Csaba Kertesz1 George Andrew Brindeiro1 Han Qiang1 Harris Gasparakis1 Heinz Hofbauer1 Kevin1 MarkBelmont1 Michael Hanselmann1 Miroslav Kobetski1 Samuel Wejeus1 Sebastian Kramer1 abidrahmank1 kocheganovvm1 pengxiaoJuly, 2013

- Windows RT: added video file i/o and sample application usingcamera, enabled parallelization with TBBor MS Concurrency

- CUDA 5.5: added support for desktop andARM

- added Qt 5 support

- Binary compatiblility with both OpenCL 1.1/1.2 platforms. Now thebinaries compiled with any of AMD/Intel/Nvidia’s SDKcan run on all other platforms.
- New functions ported, CLAHE,GoodFeaturesToTrack, TVL1 optical flow and more.
- Performance optimizations, HOG and more.
- More kernel binary cache options thoughsetBinaryDiskCache interface.
- OpenCL binaries are now included into the superpack for Windows (forVS2010 and VS2012 only)

- switched all the remaining parallel loops from TBB-only
tbb::parallel_for()to universalcv::parallel_for_()with many possible backends (MS Concurrency,Apple’s GDC, OpenMP, Intel TBB etc.)
![]()
iOSbuild scripts (together withAndroidones) moved toopencv/platformsdirectory- fixed bug with incorrect saved video from camera throughCvVideoCamera
- added
rotateVideoflag to theCvVideoCameraclass tocontrol camera preview rotation on device rotation - added functions to convert between
UIImageandcv::Mat(justincludeopencv2/highgui/ios.h)

- numerous bug-fixesacross all the library

- see alsoAndroid_Release_Notes
~/Work/OpenCV/opencv> git checkout 2.4.6~/Work/OpenCV/opencv> git shortlog --no-merges -n -s 2.4 --not 2.4.555 Peng Xiao50 yao41 Roman Donchenko40 Alexander Smorkalov21 Vladislav Vinogradov10 Kirill Kornyakov9 Andrey Pavlenko8 Alexander Shishkov8 Andrey Kamaev5 alex77git5 Dominik Rose4 Ivan Korolev3 Sergei Nosov3 abidrahmank3 poiuytrez2 Leszek Swirski1 Bo Li1 Jan Machacek1 ShengyinWu1 Siva Prasad Varma1 Gurpinder Singh Sandhu1 Andrew Senin1 Peter Minin1 caorong1 dave1 ograycode1 Dustin Spicuzza1 Luis Díaz Más1 Egbert van der WalApril, 2013

- Experimental WinRT support (build forWindowsRT guide)

the new video super-resolution module has been added that implementsthe following papers:
- S. Farsiu, D. Robinson, M. Elad, P. Milanfar. Fast and robust Super-Resolution. Proc 2003 IEEE Int Conf on Image Process, pp. 291–294, 2003.
- D. Mitzel, T. Pock, T. Schoenemann, D. Cremers. Video super resolution using duality based TV-L1 optical flow. DAGM, 2009.

- CLAHE (adaptive histogram equalization)algorithm has been implemented, both CPUand GPU-accelerated versions (in imgprocand gpu modules, respectively)

- there are further improvements and extensions in ocl module:\
- 2 stereo correspondence algorithms: stereobm (block matching) andstereobp (belief propagation) have been added\
- many bugs fixed, including some crashes on Intel HD4000

- The tutorial on displaying
cv::Matinside Visual Studio 2012debugger has been contributed by Wolf Kienzle fromMicrosoft Research. Seehttp://opencv.org/image-debugger-plug-in-for-visual-studio.html

- 78 pull requests have been merged. Big thanks to everybody whocontributed!

- At least 25 bugs have been fixed since 2.4.4 (seehttp://code.opencv.org/projects/opencv/issues select closed issueswith target version set to “2.4.5”).
March, 2013

- This is the biggest news in 2.4.4 – we’ve got full-featured OpenCVJava bindings on a desktop, not only Android! In fact you can useany JVM language, including functionalJava or handy Groovy. Big thanks toEric Christiansen forthe contribution! Check thetutorialfor details and code samples.

- Android application framework, samples, tutorials, OpenCV Managerare updated, seeAndroid_Release_Notes for details.

- Numerous improvements in
gpumodule and the following newfunctionality & optimizations:- Optimizations for the NVIDIA Keplerarchitecture
- NVIDIA CARMAplatform support
- HoughLinesP for line segments detection
- Lab/Luv <→ RGB conversions

- Let us be more verbose here. The openCL-based hardwareacceleration (ocl) module is now mature, and, with numerous bugfixes, it is largely bug-free. Correct operation has been verifiedon all tested platforms, including discrete GPUs (tested on NVIDIA and AMDboards), as well as integrated GPUs (AMDAPUs as well as Intel Ivy Bridge iGPUs). On the host side, there hasbeen exhaustive testing on 32/64 bit, Windows/Linux systems, makingthe ocl module a very serious and robust cross-platform GPU hardware acceleration solution. While wecurrently do not test on other devices that implement OpenCL (e.g.FPGA, ARM orother processors), it is expected that the ocl module will work wellon such devices as well (provided the minimum requirements explainedin the user guide are met).
Here are specific highlights of the 2.4.4 release:- The
ocl::Matcan now use “special” memory (e.g. pinned memory,host-local or device-local). - The ocl module can detect if the underlying hardware supports“integrated memory,” and if so use “device-local” memory bydefault for all operations.
- New arithmetic operations for
ocl::Mat, providing significantease of use for simple numerical manipulations. - Interop with OpenCL enables very easy integration of OpenCV inexisting OpenCL applications, and vice versa.
- New algorithms include Hough circles, more color conversions(including YUV, YCrCb), andHu Moments.
- Numerous bug fixes, and optimizations, including in:blendLinear, square samples, erode/dilate, Canny, convolutionfixes with AMD FFT library, mean shift filtering,Stereo BM.
- Platform specific bug fixes: PyrLK, bruteForceMatcher,faceDetect now works also on Intel Ivy Bridge chips (as well ason AMD APUs/GPUs and NVIDIA GPUs); erode/dilate also works onNVIDIA GPUs (as well as AMD APUs/GPUs and Intel iGPUs).
- The

- Many people contributed their code in the form ofpullrequests.Here are some of the most interesting contributions, that wereincluded into 2.4 branch:
- “>100”:http://code.opencv.org/projects/opencv/versions/11reported problems have been resolved since 2.4.3
- Oscar Denizsubmittedsmile detector and sample.
- Alexander Smorkalov created atutorialon cross-compilation of OpenCV for Linux on ARM platforms.
November, 2012

- Added universal
parallel_forimplementation using variousbackends: TBB (cross-platform:http://threadingbuildingblocks.org), OpenMP (cross-platform:http://en.wikipedia.org/wiki/OpenMP), Grand Central Dispatch(iOS/MacOSX:http://en.wikipedia.org/wiki/Grand_Central_Dispatch),Concurrency (Visual Studio 2010 or later:http://msdn.microsoft.com/en-us/library/dd492418.aspx),C= (http://www.hoopoesnest.com/cstripes/cstripes-details.htm). Manyexiting parallel OpenCV algorithms have been converted to thenew primitive. Therefore, you can enjoy performance improvementseven without having to install TBB andship it with OpenCV-based applications.

- Improved OpenCV Manager, new Java samples framework, better camerasupport on Android, seeAndroid_Release_Notes for details.

- opencv2.framework is now iOS6- and iPhone5- (armv7s) compatible.Thanks to the new threading mechanism several important OpenCValgorithms (e.g. face detection, bilateral filter, etc.) now runfaster on A5 or newer dual-core chips. We also fixed bug in theframework build script and now the framework is built with “-O3”optimization instead of “-O0” in OpenCV 2.4.2. Finally, our GSoCstudents, Eduard Feicho and Charu Hans, have written detailedtutorials on how to add OpenCV to your iOS app, please,checkhttp://docs.opencv.org/doc/tutorials/ios/table_of_content_ios/table_of_content_ios.html.

- Another our GSoC student, Alexander Mordvintsev, added several newexciting Python samples, including ASIFT,hand-written digit recognition, motion debluring and even the use ofAmazon PiCloud. Checkhttps://github.com/opencv/opencv/tree/master/samples/python2

- Yet another GSoC student Attila Novak has trained 2 new cascades,for silverware and profile faces. Checkhttps://github.com/opencv/opencv/tree/master/data/lbpcascades

- Another result from GSoC (that was a good year!): Victor Passichenkoimplemented non-local means denoising algorithm. It’s not realtime,but quite decent. Please, checkhttp://docs.opencv.org/trunk/modules/photo/doc/denoising.html

- Yet another result from GSoC (that was a good year indeed!): YuriZemlyansky implemented “simple flow” optical flow algorithm;checkhttps://github.com/opencv/opencv/tree/master/samples/cpp/simpleflow_demo.cpp.

- Numerous improvements and new functionality in GPU module:\
- device layer opened for users; now users write CUDA device code using OpenCV.\
- LBP cascade support in cascadeclassifier\
- fast non local means image denoising\
- faster integral image calculation on Kepler\
- Hough circles, Hough lines and generalized Hough transformimplementation\
- bilateral filter\
- generalized Flood Fill connected component labeling\
- background/foreground segmentation algorithms: Mixture ofGaussian, ViBe, GMG (A. Godbehere, A.Matsukawa, K. Goldberg) .\
- added confidence calculation into HOG

- Technology-preview version of ocl – OpenCL-accelerated computervision algorithms, contributed by the Chinese Academy of Science. Itincludes:\
- arithmetical operations\
- filtering\
- geometrical image transformations (resize, remap etc.)\
- cascade classifier (i.e. face detector)\
- optical flow
currently, it only runs on GPUs.
http://code.opencv.org/attachments/download/1147

- ~130 reported problems have been resolved since 2.4.2

- OpenCV has never been that social. We are at githubnow:http://github.com/opencv/opencv. Grab the latest versions fromthere, submit pull requests.

- Since 2.4.3rc we fixed several build problems (OpenCV-basedapplications on Xcode 4.5 & iOS6, OpenCV+TBB on Windows etc.) andclosed a few issues, reported at code.opencv.org.
July, 2012

- Android package introduces a new service-based distribution model(seeAndroid_Release_Notes for details).

- New keypoint descriptor FREAK has beencontributed by EPFL group: Kirell Benzi,Raphael Ortiz, Alexandre Alahi and Pierre Vandergheynst. It’sclaimed to be superior to ORB and SURF descriptors, yet it’s very fast (comparableto ORB). Please,see source://trunk/opencv/samples/cpp/freak_demo.cpp.

- Improved face recognizer and excellent tutorial on using it has beenadded by Philipp Wagner. Check theface recognitiontutorial.
![]()
- opencv2.framework for iOS has been created. You can eitherdownload the binary from SourceForge or build it yourself using thesimpleguide:http://docs.opencv.org/doc/tutorials/introduction/ios_install/ios_install.html\#ios-installation.Also, you may be interested to look at some OpenCV on iOS samples,created by our GSoC 2012 students Eduard and Charu:gsoc2012:source:/ios/trunk and read the slides of the tutorial:gsoc2012:source:/ios/trunk/doc/CVPR2012_OpenCV4IOS_Tutorial.pdf

- Another 50bugshave been fixed since 2.4.1 release.

- It’s not about the code, but now we have the brand-new user site,http://opencv.org and the new stack overflow-like site with answersto the most popular questionshttp://answers.opencv.org

- GPU module:\
- reimplemented CUDA acceleratedgpu::PyrLKOpticalFlow for dense and sparse cases. New implementationup 1.5 – 2 times faster then previous GPU optimized. Updated optical flow samples\
- implemented resize with area interpolation. CUDA optimized version for integer matrix typesup 30 – 35 faster then not optimized OpenCV implementation and up 7in worst case of 3 channel floating point matrix.
June, 2012
- The GPU module now supports CUDA 4.1 and CUDA 4.2and can be compiled with CUDA 5.0 preview.
Added API for storing OpenCV data structuresin text string and reading them back:\
//==== storing data ====FileStorage fs(".xml", FileStorage::WRITE + FileStorage::MEMORY);fs << "date" << date_string << "mymatrix" << mymatrix;string buf = fs.releaseAndGetString();//== reading it back ==FileStorage fs(buf, FileStorage::READ + FileStorage::MEMORY);fs[“date”] >> date_string;fs[“mymatrix”] >> mymatrix;cv::calcOpticalFlowPyrLKnow supports precomputed pyramids as input.
- Function signatures in documentation are made consistent withsource code.
- Restored python wrappers for SURF andMSER.
- 45 morebugsin our bug tracker have been fixed
May, 2012
The major changes since 2.4 beta
- OpenCV now provides pretty complete build informationvia cv::getBuildInformation().
- reading/writing video via ffmpeg finally works and is now availableon MacOS X too.
note 1: we now demand reasonably fresh versions of ffmpeg/libav withlibswscale included.
note 2: if possible, try to avoid reading or writing more than onevideo simultaneously (even within a single thread) with ffmpeg 0.7.xor earlier, since they seem to use some global structures that aredestroyed by the codecs executed synchronously. Either build andinstall a newer ffmpeg (0.10.x is recommended), or serialize yourvideo i/o, or use parallel processes instead of threads.
- MOG2 background subtraction by Zoran Zivkovic was optimized usingTBB.
- The reference manual has been updated to match OpenCV 2.4.0.
- More than 20 bugs have been closed in our bug tracker.(http://code.opencv.org/projects/opencv/roadmap).
- Asus Xtion is now properly supported for HighGUI. For now, you haveto manually specify this device byusing VideoCapture(CV_CAP_OPENNI_ASUS) insteadof VideoCapture(CV_CAP_OPENNI).
April, 2012
As usual, we created 2.4 branch in our repository(http://code.opencv.org/svn/opencv/branches/2.4), where we will furtherstabilize the code. You can check this branch for changes periodically,before as well as after 2.4 release.
At the age of 12, OpenCV got its own home!http://code.opencv.org isnow the primary site for OpenCV development andhttp://opencv.orgwill be the official OpenCV user site.
Some of the old functionality from the modules
imgproc,video,calib3d,features2d,objdetecthas been moved to legacy.CMake scripts have been substantially modified. Now it’s very easyto add new modules – just put the directory with include, src, docand test sub-directories to the modules directory, create a verysimple
CMakeLists.txtand your module will be built as a partof OpenCV. Also, it’s possible to exclude certain modules from build(the CMake variables “BUILD_opencv_<modulename>” control that).
A new essential class
cv::Algorithmhas been introduced. It’splanned to be the fundamental part of all of the “non-trivial”OpenCV functionality. All Algorithm-based classes have the followingfeatures:- “virtual constructor”, i.e. an algorithm instance can be createdby name;
- there is a list of available algorithms;
- one can retrieve and set algorithm parameters by name;
- one can save algorithm parameters to XML/YAML file andthen load them.
A new ffmpeg wrapper has been created that features multi-threadeddecoding, more robust video positioning etc. It’s used with ffmpegstarting with 0.7.x versions.
features2dAPI has been cleaned up.There are no more numerous classes with duplicated functionality.The base classesFeatureDetectorandDescriptorExtractorare nowderivatives ofcv::Algorithm. There is also the baseFeature2D,using which you can detect keypoints and compute the descriptors ina single call. This is also more efficient.SIFT and SURFhave been moved to a separate module named
nonfreeto indicatepossible legal issues of using those algorithms inuser applications. Also, SIFT performancehas been substantially improved (by factor of 3-4x).The current state-of-art textureless detection algorithm, Line-Modby S. Hinterstoisser, has been contributed by Patrick Mihelich. See
objdetect/objdetect.hpp, classDetector.3 face recognition algorithms have been contributed byPhilipp Wagner. Please, check
opencv/contrib/contrib.hpp,FaceRecognizerclass, andopencv/samples/cpp/facerec_demo.cpp.2 algorithms for solving PnP problem have been added. Please, check
flagsparameter insolvePnPandsolvePnPRansacfunctions.Enhanced
LogPolarimplementation (that uses Blind-Spot model) hasbeen contributed by Fabio Solari and Manuela Chessa, seeopencv/contrib/contrib.hpp,LogPolar_*classes andopencv/samples/cpp/logpolar_bsm.cppsample.A stub module
photohas been created to support a quickly growing“computational photography” area. Currently, it only containsinpaintingalgorithm, moved fromimgproc, but it’s planned toadd much more functionality.Another module
videostab(beta version) has been added that solvesa specific yet very important task of video stabilization. Themodule is under active development. Please, checkopencv/samples/cpp/videostab.cppsample.findContourscan now find contours on a 32-bit integer image oflabels (not only on a black-and-white 8-bit image). This is a steptowards more convenient connected component analysis.Cannyedge detector can now be run on color images, which resultsin better edge mapsPython bindings can now be used within python threads, so one canwrite multi-threaded computer vision applications in Python.
Different Optical Flow algorithms have been added:
- Brox (contributed by NVidia)
- PyrLK – both Dense and Sparse variations
- Farneback
New feature detectors and descriptors:
GoodFeaturesToTrack- FAST/ORBwhich is patent free replacement of SURF.
Overall GPU module enhancements:
- The module now requires CUDA 4.1 orlater;
- Improved similarity of results between CPU and GPU;
- Added border extrapolation support for many functions;
- Improved performance.
pyrUp/pyrDownimplementations.Matrix multiplication on GPU (wrapper forthe CUBLAS library). This is optional,user need to compile OpenCV with CUBLAS support.
OpenGL back-endhas been implemented forhighguimodule, thatallows to displayGpuMatdirectly without downloading them toCPU.
See the [Android_Release_Notes].
A few OpenCV functions, like color conversion, morphology, data typeconversions, brute-force feature matcher have been optimized usingTBB and/or SSE intrinisics.
Along with regression tests, now many OpenCV functions have gotperformance tests. Now for most modules one can build
opencv_perf_<modulename>executables that run various functionsfrom the particular module and produce a XML file. Note that if you want to run thosetests, as well as the normal regression tests, you will need to get(a rather big)http://code.opencv.org/svn/opencv/trunk/opencv_extradirectory and set environment variableOPENCV_TEST_DATA_PATHto<your_copy_of_opencv_extra>/testdata.
- In this version we fixed literally hundreds of bugs. Please, checkhttp://code.opencv.org/projects/opencv/versions/1 for a list offixed issues.
When OpenCV is built statically, dynamically created classes (via
Algorithm::create) can fail because linker excludes the “unused”object files. To avoid this problem, create classes explicitly, e.gPtr<DescriptorExtractor> d =new BriefDescriptorExtractor;
August, 2011
OpenCV Java bindings for Android platform are released in ‘’Beta 2’’quality. A lot of work is done to make them more stable and easier touse. Currently Java API has about 700different OpenCV functions and covers 8 OpenCV modules including fullport of features2d.
Retina module has been contributed by Alexandre Benoit (in
opencv_contribmodule). See the new retina sampleandhttps://sites.google.com/site/benoitalexandrevision/.Support for Ximea cameras (http://www.ximea.com/) in
highguihasbeen contributed by Ximea developers.Planar subdivisions construction (Delaunay triangulation andVoronoi tessellation) have been ported to C++. See the new
delaunay2.cppsample.Several new Python samples have been added.
FLANNin OpenCV has been upgraded to v1.6. Also, added Pythonbindings forFLANN.We now support the latest FFMPEG (0.8.x)that features multi-threaded decoding. Reading videos in OpenCV hasnever been that fast.
- Quite a few new tutorials have been added. Checkhttp://docs.opencv.org/trunk for the up-to-date documentation.
- Performance of the sparse Lucas-Kanade optical flow has beengreatly improved. On 4-core machine it is now 9x faster than theprevious version.
- Over 100 issues have been resolved since 2.3 release. Most of theissues (closed and still open) are listedathttp://code.opencv.org/projects/opencv/issues?set_filter=1.
- TBB debug binaries are missed in theWindows installer. Here is a workaround:
- Download
tbb30_20110427oss_win.zipfrom theTBBwebsite. - Unzip and copy the
tbb*_debug.dllfiles frombin// to thecorresponding folder in the installed OpenCV location in/build/common/tbb//
- Download
July, 2011
A few more bugs reported in the OpenCV bug tracker have been fixed.
Documentation has been improved a lot! The new reference manualcombines information for C++ and C interfaces, the OpenCV 1.x-stylePython bindings and the new C++-style Python bindings. It has alsobeen thoroughly checked for grammar, style and integrity.
Besides, there are new and updated tutorials.
The up-to-date online documentation is available athttp://docs.opencv.org.
- The new binary package includes various pre-compiled libs:
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/
Unfortunately, it’s not a full-scale installation package, but simply aself-extracting archive with areadme.txt supplied.
The installation package is probably to come in the next version.
VS2005 should build OpenCV 2.3 out of the box, including
DirectShowsupport.ffmpeg bindings are now available for all Windows users viacompiler- and configuration- and
version-independentopencv_ffmpeg.dll(for 32-bit compilers) andopencv_ffmpeg_64.dll(for 64-bit compilers).
June, 2011
Buildbot-based Continuous Integration system is now continuouslytesting OpenCV snapshots. The current status is available athttp://pullrequest.opencv.org/
OpenCV switched to GoogleTest (http://code.google.com/p/googletest/) engine for regressionand correctness tests. Each module now has “test” sub-directorywhich includes the corresponding tests.
Many functions and methods now take
InputArray/OutputArrayinstead ofcv::Matreferences. It retains compatibility with theexisting code and yet brings more natural support for STL vectors and potentially other “foreign” datastructures to OpenCV. Seehttp://docs.opencv.org/modules/core/doc/intro.html#inputarray-and-outputarrayfor details.coreLAPACKis not used by OpenCV anymore. The change decreased thelibrary footprint and the compile time. We now use our ownimplementation of Jacobi SVD. SVD performance on small matrices (2×2to 10×10) has been considerably improved; on larger matrices itis still pretty good. SVD accuracy onpoorly-conditioned matrices has also been polished.- Arithmetic operations now support mixed-type operands andarbitrary number of channels.
features2d- Completely new patent-free
BRIEFandORBfeature descriptorshave been added. - Very fast LSH matcher for
BRIEFandORBdescriptors will be added in 2.3.1.
- Completely new patent-free
calib3d- A new calibration pattern,circles grid,has been added. See findCirclesGrid() function and the updatedcalibration.cpp sample. With the new pattern calibrationaccuracy is usually much higher.
highgui- Windows
videoInputis now a part ofhighgui. If thereare any problems with compilinghighgui, setWITH_VIDEOINPUT=OFFin CMake.
- Windows
stitchingopencv_stitchingis a beta version of new application thatmakes a panorama out of a set of photos taken from thesame point.
python- Now there are 2 extension modules:
cvandcv2.cv2includes wrappers for OpenCV 2.x functionality.opencv/samples/python2contain a few samples demonstratingcv2in use.
- Now there are 2 extension modules:
contrib- A new experimental variational stereo correspondence algorithm
StereoVarhas been added.
- A new experimental variational stereo correspondence algorithm
gpu- the module now requires CUDA 4.0 orlater; Many improvements and bug fixes have been made.
- With support from NVIDIA, OpenCV Androidport (which is actually not a separate branch of OpenCV, it’s thesame code tree with additional build scripts) has been greatlyimproved, a few demos developed. Camera support has been added aswell.See [Android_Release_Notes#231-beta1] for details.
OpenCV documentation is now written in
ReStructured Textand builtusingSphinx(http://sphinx.pocoo.org).It’s not a single reference manual now, it’s 4 reference manuals(OpenCV 2.x C++ API, OpenCV 2.x PythonAPI, OpenCV 1.x C API, OpenCV 1.x Python API), the emerging user guide and a set oftutorials for beginners.
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 athttp://docs.opencv.org
- Several samples using the new Python bindings (cv2 module) have beenadded:http://code.opencv.org/svn/opencv/branches/2.3/opencv/samples/python2
- Several ML algorithms have been threaded using TBB.
- Over 250 issues have been resolved. Most of the issues (closed andstill open) are listedathttp://code.opencv.org/projects/opencv/issues?set_filter=1.
Documentation (especially on the new Python bindings) is stillbeing updated. Watchhttp://docs.opencv.org for updates.
Android port does not provide Java interface for OpenCV. It is goingto be added to2.3branch in afew weeks.
December, 2010
- The library has been reorganized. Instead of
cxcore,cv,cvaux,highguiandmlwe now have several smaller modules:opencv_core– core functionality (basic structures,arithmetics and linear algebra, dft, XML and YAMLI/O …).opencv_imgproc– image processing (filter,GaussianBlur,erode,dilate,resize,remap,cvtColor,calcHistetc.)opencv_highgui– GUI and image &video I/Oopencv_ml– statistical machine learning models (SVM, Decision Trees, Boosting etc.)opencv_features2d– 2D feature detectors and descriptors(SURF, FASTetc., including the new featuredetectors-descriptor-matcher framework)opencv_video– motion analysis and object tracking (opticalflow, motion templates, background subtraction)opencv_objdetect– object detection in images (Haar & LBP face detectors, HOG people detector etc.)opencv_calib3d– camera calibration, stereo correspondence andelements of 3D data processingopencv_flann– the Fast Library for Approximate NearestNeighbors (FLANN1.5) and the OpenCV wrappersopencv_contrib– contributed code that is not mature enoughopencv_legacy– obsolete code, preserved for backwardcompatibilityopencv_gpu– acceleration of some OpenCV functionality usingCUDA(relatively unstable, yet very actively developed partof OpenCV)
If you detected OpenCV and configured your make scripts using CMake orpkg-config tool, your code will likely build fine without any changes.Otherwise, you will need to modify linker parameters (change the librarynames) and update the include paths.
It is still possible to use#include <cv.h> etc. but the recommendednotation is:
```.cpp#include "opencv2/imgproc/imgproc.hpp"```Please, check the new C and C++ samples(http://code.opencv.org/svn/opencv/trunk/opencv/samples), which nowinclude the new-style headers.
The new-style wrappers now cover much more of OpenCV 2.x API. The documentation and samples are to beadded later. You will need numpy in order to use the extrafunctionality.
SWIG-based Python wrappers are notincluded anymore.OpenCV can now be built for Android (GSoC 2010 project), thanks toEthan Rublee; and there are some samples too. Please, check [OpenCV4Android]
The completely new
opencv_gpuacceleration module has been createdwith support by NVIDIA. See belowfor details.
core- The new
cv::Matx<T, m, n>type for fixed-type fixed-sizematrices has been added.Vec<T, n>is now derived fromMatx<T, n, 1>. The class can be used for very small matrices,wherecv::Matuse implies too much overhead. The operators toconvertMatxtoMatand backwards are available. cv::Matandcv::MatNDare made the same type:typedef cv::Mat cv::MatND.
Note that many functions do not check the matrix dimensionalityyet, so be careful when processing 3-, 4- … dimensional matricesusing OpenCV.- Experimental support for Eigen 2.x/3.x is added (
WITH_EIGEN2option in CMake). Again, there are convertors from Eigen2matrices tocv::Matand backwards. Seemodules/core/include/opencv2/core/eigen.hpp. cv::Matcan now be print with “<<” operator. Seeopencv/samples/cpp/cout_mat.cpp.cv::expandcv::logare now much faster thanks toSSE2 optimization.
- The new
imgproc- color conversion functions have been rewritten;
- RGB→Lab & RGB→Luv performance has beennoticeably improved. Now the functions assume sRGB input colorspace (e.g. gamma=2.2). If you want the original linear RGB→L** conversion (i.e. with gamma=1),use
CV_LBGR2LABetc. - VNG algorithm for Bayer→RGB conversion has been added. It’s muchslower than the simple interpolation algorithm, but returnssignificantly more detailed images
- The new flavors of RGB→HSV/HLS conversionfunctions have been added for 8-bit images. They use the whole0..255 range for the H channel instead of 0..179. The conversioncodes are
CV_RGB2HSV_FULLetc. - special variant of
initUndistortRectifyMapfor wide-anglecameras has been added:initWideAngleProjMap()
features2d- the unified framework for keypoint extraction, computing thedescriptors and matching them has been introduced. Thepreviously available and some new detectors and descriptors,like
SURF,FAST,StarDetectoretc. have been wrapped to beused through the framework. The key advantage of the newframework (besides the uniform API fordifferent detectors and descriptors) is that it also provideshigh-level tools for image matching and texturedobject detection. Please, see documentationhttp://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html\and the C++ samples:descriptor_extractor_matcher.cpp– finding object in ascene using keypoints and their descriptors.generic_descriptor_matcher.cpp– variation of the abovesample where the descriptors do not have to becomputed explicitly.bagofwords_classification.cpp– example of extending theframework and using it to process data from the VOC databases:http://pascallin.ecs.soton.ac.uk/challenges/VOC/
- the newest super-fast keypoint descriptor BRIEF by Michael Calonder has beenintegrated by Ethan Rublee. See the sample
opencv/samples/cpp/video_homography.cpp - SURF keypoint detector has beenparallelized using TBB (the patch isby imahon and yvo2m)
- the unified framework for keypoint extraction, computing thedescriptors and matching them has been introduced. Thepreviously available and some new detectors and descriptors,like
objdetect- LatentSVM object detector, implementing P. Felzenszwalbalgorithm, has been contributed by Nizhniy Novgorod StateUniversity (NNSU) team. See
opencv/samples/c/latentsvmdetect.cpp
- LatentSVM object detector, implementing P. Felzenszwalbalgorithm, has been contributed by Nizhniy Novgorod StateUniversity (NNSU) team. See
calib3dThe new rational distortion model has been introduced. It is useful for calibration of cameras withwide-angle lenses.Because of the increased number of parameters to optimize you need tosupply more data to robustly estimate all of them. Or, simply initializethe distortion vectors with zeros and pass
CV_CALIB_RATIONAL_MODELtoenable the new modelCV_CALIB_FIX_K3 + CV_CALIB_FIX_K4 + CV_CALIB_FIX_K5or other suchcombinations to selectively enable or disable certain coefficients.rectification of trinocular camera setup, where all 3 heads are onthe same line, is added. see
samples/cpp/3calibration.cpp
ml- Gradient boosting trees model has been contributed by NNSU team.
highgui- Experimental Qt backend for OpenCV has been added as a result ofGSoC 2010 project, completed by Yannick Verdie. The backend hasa few extra features, not present in the other backends, liketext rendering using TTF fonts,separate “control panel” with sliders, push-buttons, checkboxesand radio buttons, interactive zooming, panning of the imagesdisplayed in
highguiwindows, “save as” etc. Please, check theyoutube videos where Yannick demonstrates the new features:http://www.youtube.com/user/MrFrenchCookie#p/u - The new API is described here:http://docs.opencv.org/modules/highgui/doc/qt_new_functions.htmlTo make use of the new API, you needto have Qt SDK (or
libqt4withdevelopment packages) installed on your machine, and buildOpenCV with Qt support (pass-DWITH_QT=ONto CMake; watch theoutput, make sure Qt is used as GUI backend) - 16-bit and LZW-compressed TIFFs arenow supported.
- You can now set the mode for IEEE1394 cameras on Linux.
- Experimental Qt backend for OpenCV has been added as a result ofGSoC 2010 project, completed by Yannick Verdie. The backend hasa few extra features, not present in the other backends, liketext rendering using TTF fonts,separate “control panel” with sliders, push-buttons, checkboxesand radio buttons, interactive zooming, panning of the imagesdisplayed in
contrib- Chamfer matching algorithm has been contributed by Marius Muja,Antonella Cascitelli, Marco Di Stefano and Stefano Fabri. See
samples/cpp/chamfer.cpp
- Chamfer matching algorithm has been contributed by Marius Muja,Antonella Cascitelli, Marco Di Stefano and Stefano Fabri. See
gpuThis is completely new part of OpenCV, created with the support byNVIDIA.Note that the package is at alpha, probably early beta state, so useit with care and check OpenCV SVNfor updates.
In order to use it, you need to have the latest NVidia CUDA SDK installed, andbuild OpenCV with CUDA support (-DWITH_CUDA=ON CMake flag).
All the functionality is put tocv::gpu namespace. The full list offunctions and classes can be found atopencv/modules/gpu/include/opencv2/gpu/gpu.hpp, and here are somemajor components of the API:
image arithmetics, filtering operations, morphology, geometricaltransformations, histograms
3 stereo correspondence algorithms: Block Matching, BeliefPropagation and Constant-Space Belief Propagation.
HOG-based object detector. It runs morethan order of magnitude faster than the CPU version!See
opencv/samples/gpupythonbindings. A lot more of OpenCV 2.x functionality is now covered by Python bindings.These new wrappers require
numpyto be installed
(seehttp://opencv.willowgarage.com/wiki/InstallGuide for details).Likewise the C++ API, in the new Pythonbindings you do not need to allocate output arrays.
They will be automatically created by the functions.Here is a micro example:
importcva=cv.imread("lena.jpg",0)b=cv.canny(a,50,100,apertureSize=3)cv.imshow("test",b)cv.waitKey(0)
In the sample
aandbare normalnumpyarrays, so the whole powerofnumpyandscipycan now be combined with OpenCV functionality.
Links to wiki pages have been added to each function description,seehttp://opencv.willowgarage.com
All the samples have been documented with default output ‘’(0 orincomplete number of parameters)’’ set to print out “howto” runinstructions; most samples have been converted to C++ to use the newOpenCV API.
Over 300 issues have been resolved. Most of the issues (closed andstill open) are listed athttp://code.opencv.org/projects/opencv/issues?set_filter=1
The old bug tracker athttps://sourceforge.net/projects/opencvlibrary/ is now closedfor updates. As soon as all the still relevant bug reports will bemoved to code.ros.org, the old bug tracker will becompletely deleted. Please, use the new tracker from now on.
- Installation package for Windows is still 32-bit only and does notinclude TBB support. You can buildparallel or 64-bit version of OpenCV from the source code.
© Copyright 2019-2025, OpenCV team