当前位置:网站首页>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
边栏推荐
- Exercise 9-3 plane vector addition (15 points)
- Hands on deep learning (39) -- gating cycle unit Gru
- 自动化的优点有哪些?
- C # use smtpclient The sendasync method fails to send mail, and always returns canceled
- Work order management system OTRs
- Press the button wizard to learn how to fight monsters - identify the map, run the map, enter the gang and identify NPC
- 【Day1】 deep-learning-basics
- Hands on deep learning (41) -- Deep recurrent neural network (deep RNN)
- Write a mobile date selector component by yourself
- Go context basic introduction
猜你喜欢

Safety reinforcement learning based on linear function approximation safe RL with linear function approximation translation 2

C # use ffmpeg for audio transcoding
Summary of reasons for web side automation test failure

回复评论的sql

六月份阶段性大总结之Doris/Clickhouse/Hudi一网打尽

智能网关助力提高工业数据采集和利用

If the uniapp is less than 1000, it will be displayed according to the original number. If the number exceeds 1000, it will be converted into 10w+ 1.3k+ display

PHP personal album management system source code, realizes album classification and album grouping, as well as album image management. The database adopts Mysql to realize the login and registration f

mmclassification 标注文件生成

法向量点云旋转
随机推荐
Whether a person is reliable or not, closed loop is very important
Upgrading Xcode 12 caused Carthage to build cartfile containing only rxswift to fail
[200 opencv routines] 218 Multi line italic text watermark
【Day1】 deep-learning-basics
华为联机对战如何提升玩家匹配成功几率
How web pages interact with applets
Exercise 9-4 finding books (20 points)
Dynamic address book
uniapp 处理过去时间对比现在时间的时间差 如刚刚、几分钟前,几小时前,几个月前
Golang Modules
Summary of reasons for web side automation test failure
Exercise 7-2 finding the maximum value and its subscript (20 points)
5g/4g wireless networking scheme for brand chain stores
Golang 类型比较
C语言指针面试题——第二弹
SSM online examination system source code, database using mysql, online examination system, fully functional, randomly generated question bank, supporting a variety of question types, students, teache
2. Data type
Baidu R & D suffered Waterloo on three sides: I was stunned by the interviewer's set of combination punches on the spot
C语言指针经典面试题——第一弹
Mmclassification annotation file generation