当前位置:网站首页>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
边栏推荐
- Uniapp--- initial use of websocket (long link implementation)
- 技术管理进阶——如何设计并跟进不同层级同学的绩效
- 用数据告诉你高考最难的省份是哪里!
- Hands on deep learning (37) -- cyclic neural network
- Kotlin: collection use
- PHP代码审计3—系统重装漏洞
- Machine learning -- neural network (IV): BP neural network
- Reprint: summation formula of proportional series and its derivation process
- [FAQ] summary of common causes and solutions of Huawei account service error 907135701
- 有老师知道 继承RichSourceFunction自定义读mysql怎么做增量吗?
猜你喜欢
Intelligent gateway helps improve industrial data acquisition and utilization
MongoDB数据日期显示相差8小时 原因和解决方案
Hands on deep learning (44) -- seq2seq principle and Implementation
华为联机对战如何提升玩家匹配成功几率
el-table单选并隐藏全选框
Work order management system OTRs
Web端自动化测试失败原因汇总
How web pages interact with applets
回复评论的sql
Kubernetes CNI 插件之Fabric
随机推荐
Go context 基本介绍
浅谈Multus CNI
Qtreeview+ custom model implementation example
On Multus CNI
Application of safety monitoring in zhizhilu Denggan reservoir area
Upgrading Xcode 12 caused Carthage to build cartfile containing only rxswift to fail
Hands on deep learning (III) -- Torch Operation (sorting out documents in detail)
AUTOSAR from getting started to mastering 100 lectures (106) - SOA in domain controllers
华为联机对战如何提升玩家匹配成功几率
For programmers, if it hurts the most...
Exercise 7-3 store the numbers in the array in reverse order (20 points)
Sort out the power node, Mr. Wang he's SSM integration steps
智慧路灯杆水库区安全监测应用
Hands on deep learning (39) -- gating cycle unit Gru
按键精灵跑商学习-商品数量、价格提醒、判断背包
A little feeling
Vanishing numbers
IIS configure FTP website
Service developers publish services based on EDAs
Modules golang