当前位置:网站首页>Differences among opencv versions
Differences among opencv versions
2022-07-04 10:12:00 【Wildcraner】
Opencv2 Mark the opencv Revolutionary change ,Opencv2 Bring a whole new C++ Interface , take Opencv The ability to magnify infinitely . stay 2.0 Time ,opencv Added new platform support , Include iOS and Android, adopt CUDA and openGL Realized GPU Speed up , by Python and Java The user provides an interface .
Opencv 3 Changed the way the project architecture ,3.0 The version will not be like 2.0 As radical as version , There will only be stable enough improvements . The change of project architecture is Opencv 3 The most significant innovation .2.0 Version means that each module is built as a whole and then combined . However , With the increase of function ,opencv The main body integrates various functional modules , Become more and more bloated . and 3.0 This version is designed to give you more and more weight opencv To lose weight , because Opencv3 Decided to be like other big projects , Abandon the overall architecture , Using the kernel + The architectural form of plug-ins .
stay GitHub in , In addition to storing the official version opencv Main warehouse and newly added “opencv_extra” Outside the warehouse ,opencv3 A new one named “opencv_contrib” New warehouse , The warehouse includes many exciting functions : Face recognition , Text detection , Text recognition , New edge detector , Artistic image restoration , Depth map processing , New optical flow and tracking algorithm .
opencv_contrib The warehouse is where most experimental code is placed , some API May change , These additional modules can be found in CMake of use OPENCV_EXTRA_MODULES_PATH=/modules Pass to CMake file .
OpenCV 1.x
OpenCV Originally based on C Language development ,API It's all based on C Of , Facing memory management 、 Pointer, etc C The trouble inherent in language .
2006 year 10 month 1.0 When it was released , Part of it uses C++, Support at the same time Python, There is already random trees、boosted trees、neural nets And so on , Improve the support for graphical interface .
2008 year 10 month 1.1pre1 Release , Use VS2005 structure ,Python bindings Support Python 2.6,Linux Support Octave bindings, In this version SURF、RANSAC、Fast approximate nearest neighbor search etc. ,Face Detection (cvHaarDetectObjects) And faster .
OpenCV 2.x
When C++ Become popular ,OpenCV 2.x Release , Try to use C++ instead of C, But for forward compatibility , Still retain the right C API Support for . from 2010 Year begins ,2.x Decide not to support and update frequently C API, It is focus stay C++ API,C API Just for backup .
2009 year 9 month 2.0 beta Release , The main use of CMake structure , Added a lot of new features 、 Descriptors, etc , Such as FAST、LBP etc. .
2010 year 4 month 2.1 edition , Joined the Grabcut etc. , have access to SSE/SSE2… Instruction set .
2010 year 10 month 2.2 Version release ,OpenCV The module has become familiar to everyone , image opencv_imgproc、opencv_features2d etc. , At the same time opencv_contrib Used to place immature code ,opencv_gpu Place use CUDA Accelerated OpenCV function .
2011 year 6 From the beginning of the month 2.3.x edition 、2012 year 4 From the beginning of the month 2.4.x edition , Add new methods , One side repair bug, At the same time, strengthen the GPU、Java for Android、 OpenCL、 Parallelization support and so on ,OpenCV More stable and perfect , It is worth noting that SIFT and SURF from 2.4 Began to be put in nonfree modular ( Because patents ).
Considering the transition ,OpenCV 2.4.x Still maintaining , But in the future, we may only do bug Repair and efficiency improvement , No more new features —— Encourage to 3.x transfer .
OpenCV 3.x
With 3.x Release ,1.x Of C API Will be eliminated and no longer supported , in the future C API May be through C++ Automatic generation of source code .3.x And 2.x Not fully compatible , And 2.x comparison , The main difference is OpenCV 3.x Most of the methods used OpenCL Speed up .
2014 year 8 month 3.0 alpha Release , Except that most methods use OpenCL Speed up the outside ,3.x The default includes and uses IPP, meanwhile ,matlab bindings、Face Recognition、SIFT、SURF、 text detector、motion templates & simple flow When it's all moved to opencv_contrib Next (opencv_contrib Not only does it store unstable code , At the same time, it also stores the technical realization related to patent protection ), A large number of emerging new methods are also included .
2017 year 8 month 3.3 edition ,2017 year 12 At the beginning of the month 3.4.x edition ,opencv_dnn from opencv_contrib Moved to opencv, meanwhile OpenCV Start supporting C++ 11 structure , After that, it was obvious that the support for neural network was strengthening ,opencv_dnn Continuously improved and expanded .
OpenCV 4.0
2018 year 10 month 4.0.0 Release ,OpenCV Need support at first C++11 To compile , Use... For hundreds of basic functions at the same time "wide universal intrinsics" rewrite , These inline functions can be mapped to... Based on the target platform and compilation options SSE2、 SSE4、 AVX2、NEON perhaps VSX Inline function , Get performance improvement . Besides , Also joined the QR code Detection and identification of , as well as Kinect Fusion algorithm,DNN It is also continuously improving and expanding .
Reference resources https://www.cnblogs.com/shine-lee/p/9884551.html
边栏推荐
- Hands on deep learning (40) -- short and long term memory network (LSTM)
- PHP student achievement management system, the database uses mysql, including source code and database SQL files, with the login management function of students and teachers
- C语言指针经典面试题——第一弹
- Service developers publish services based on EDAs
- `Example of mask ` tool use
- Mmclassification annotation file generation
- Go context basic introduction
- Advanced technology management - how to design and follow up the performance of students at different levels
- 【Day2】 convolutional-neural-networks
- Hands on deep learning (32) -- fully connected convolutional neural network FCN
猜你喜欢
对于程序员来说,伤害力度最大的话。。。
PHP code audit 3 - system reload vulnerability
C # use gdi+ to add text to the picture and make the text adaptive to the rectangular area
Hands on deep learning (32) -- fully connected convolutional neural network FCN
Devop basic command
Hands on deep learning (46) -- attention mechanism
Hands on deep learning (39) -- gating cycle unit Gru
Hands on deep learning (34) -- sequence model
PHP代码审计3—系统重装漏洞
Qtreeview+ custom model implementation example
随机推荐
Kotlin:集合使用
Hands on deep learning (44) -- seq2seq principle and Implementation
Reasons and solutions for the 8-hour difference in mongodb data date display
Legion is a network penetration tool
H5 audio tag custom style modification and adding playback control events
IIS configure FTP website
自动化的优点有哪些?
【OpenCV 例程200篇】218. 多行倾斜文字水印
Baidu R & D suffered Waterloo on three sides: I was stunned by the interviewer's set of combination punches on the spot
原生div具有编辑能力
Golang defer
Upgrading Xcode 12 caused Carthage to build cartfile containing only rxswift to fail
MongoDB数据日期显示相差8小时 原因和解决方案
Hands on deep learning (45) -- bundle search
C # use gdi+ to add text to the picture and make the text adaptive to the rectangular area
Nuxt reports an error: render function or template not defined in component: anonymous
C # use smtpclient The sendasync method fails to send mail, and always returns canceled
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
Golang Modules
PHP代码审计3—系统重装漏洞