opencv各版本之間區別
Opencv 1.0 以前的歷史忽略...
1.0
(2006年 10月)
新功能/特征
1. General :
☆ Windows 安裝包中加入了預編譯的Python 模塊
☆ Borland C++(v5.6+) 新增了makefiles (參考 _make\make_all_bc.mak)
2. CV:
☆ 添加了Inpainting,參考 samplse/c/inpaint.cpp
3. MLL:
☆ 添加了Boosted 樹分類器, 詳見 參考手冊 MLL 部分
4 HighGUI:
☆ 在highgui通過使用JasPer 和OpenEXR ,支持Jpeg2000 和 EXR 格式的文件 。在windows中 OpenEXR 不是默認內置到highgui 中的。 參考 otherlib/_graphics/readme.txt
☆ 支持 大於8_bit 圖像(PNG,Jpeg2000 以及 OPenEXR)的輸入/輸出。
☆ 更新了 CMU camera wrapper.
☆ 改進和修正了 一些 V4L2
5 New Samples (opencv/samples ):
☆ 攝像機標定的例子:calibrate,cpp
☆ 圖像修復的例子 :inpaint.cpp
☆ 根據已有數據,使用隨機樹 ,boosted 樹以及神經網絡等方法訓練學習來進行字母識別:leter_recog.cpp
☆ 一些新的Python 例子
6 Tests:
☆ 大部分舊的 cv tests 已經被重寫/修改成 使用cxts 替代了 trs,在tests中TRS 不再使用。
Bug fixes:
★ cvFindFundamentalMat 總錯誤的歸一化(SF # 1550855)
★ cvGetQuadrangleSubPix 的偶然崩潰 (SF # 1549168)
★ cvCalcOpticalFlowPyrLK 的偶然崩潰 ()
★ 在cvFloor/cvCeil 出現內部GCC 3.X錯誤(SF # 1546657)
★ 一些和Python 相關的bug (SF #1570109 ,SF# 1572800,,SF #1543593 )
★ 輪廓處理/渲染 出現的bugs(SF # 1550889)
★ x86-64 相關的bugs(SF #1526133 ,SF #1527997)
★ cvFitEllipse ,cvFitLine,cvHoughCircles 在某些情況下出現不正確的結果。
★ 。。。。
已知問題 :
★ 一些tests在IA64(Itanium)可能失敗。例如 gaussian filter ,fundamental matrix estimation, chessboard detector.
1.1 prel1
(2008 年10月)
新功能/特征
1 General :
☆ 增加了Octave bindings 。參考 interfaces/swig/octave (迄今為止只有 Linux)
☆ 【windows】 opencv 支持 VS2005, 同時也包括支持 OpenMP.
☆ 【windows】 更新到Python2.6
☆ 【windows】刪掉了 cvcam (因為highgui現在支持 videoInput)。
2 CXCORE, CV,CVAUX :
☆ 增加了SUFR(speeded_up Robust Features)算法 ,參考 samples/c/find_obj.cpp 以及 文檔 opencvref_cv.htm
☆ 攝像機標定增加了許多改進
■ 添加了攝像機的立體標定: cvStereoCalibrate,cvStereoRectify 等。
■ 使用Levenberg-Marquardt 方法進行單攝像機標定,同時支持 額外的標志 來進行控制攝像機各個參數優化的開關。
■ 在 每一個涉及到 標定相關的函數中 用到了徑向畸變的第三個 參數 ((k3*r^6).
☆ 提供了更好的homograph 估計算法 (RANSAC 以及 LEMDs).
☆ 添加了新的 C++ 模板圖像處理類 參考 opencv/cxcore/include /cvwimae.h
☆ 添加了快速近似的緊鄰搜索
☆ 添加了背景/前景分割 的Codebook 算法
☆ 添加了排序函數
☆ 【OpenCV+IPP】人臉檢測(cvHaarDetectObjects)速度加快(達到2倍) 使用 IPP 5.3 或者更高的版本.
☆ 添加了cvRemap中 更快(4 倍)的定點變化運算。
3 MLL;
☆ MLL 中添加了Python 綁定。 現在沒有具體的例子。
4 HighGUI:
☆ 【windows ,32bit】添加了支持videoInput 的類庫,因此,cvcam幾乎不再需要。
☆ 【windows ,32bit】通過 ffopencv*.dll ,FFMGEG現在支持視頻的解碼/編碼
☆ 【linux】 添加了支持unicap的功能
☆ 改進了內部視頻的捕捉以及視頻編碼的 APIs.
5 Documentation:
☆ 出版了 OpenCV 書。
6. New samples (opencv/samples):
☆ 許多 Octave 例子
☆ find_obj.cpp (SURF),bgfg_codebook.cpp(Codebook BG/FG 分割),stereo_calib.cpp (立體校准 和立體匹配)
Bug fixes:
省略....
已知問題:
☆ 不支持 Borland 編譯器(有可能工作)
☆ 不支持64位windows(有可能工作)
☆ SF bug跟蹤器仍然包括 50多個bug記錄 。在下面版本中解決他們。
2.0 beta
(2009 年9月)
新功能,特征:
1. General :
☆ 引進了嶄新的C++接口,支持大部分OpenCV函數功能(cxcore,cv ,highgui).也就意味着你可以用較少的編碼完成同樣的結果; 同時,它能夠自動進行內存管理和其他一些優點。
■ 查看opencv中的C++參考章節:/doc/opencv.pdf 和 opencv/include/opencv/*.hpp .
■ 先前的接口仍然保留並繼續支持。
☆ 源目錄結果重新組織;現在所有的外部頭文件放置在所有平台的單目錄里面。
☆ 主要的編譯系統是CMake,
■ http://www.cmake.org(2.6.x 是相當好的版本).
■ 在Windows 包里Visual studio 里面的項目文件,MSVC 中的makefiles, Borland c++ 或者 MinGW 不再提供。請 用 CMake 產生它們。
■ 在 MacOSX, 使用者可以產生Xcode項目文件。
■ 在linux 和其他平台上,用戶通過命令行編譯OpenCV,可以在交叉平台的IDEs上產生項目文件,例如 Eclipse 或者 Code Blocks ,或者makefiles。
☆ Opencv 的庫已經轉換到Subversion,發布在 SourceForge:
■ http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary
■ 最新的snapshot 在 http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk,
■ 差不多穩定的版本在 http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot
2. CXCORE, CV,CVAUX:
☆ CXCORE 在各種線性代數函數中使用 Lapack (OpenCV 2.0中CLapack 3.1.1.1 ) 例如 solve,invert,SVD,determinant,等。 ☆ 增添了 許多新特征以及 物體檢測和描述符。參見 cv.hpp ,cvaux.hpp:
■ FASE--快速角檢測。
■ MSER-- 極值地方最穩定
■ LDetector- 快速基於圓特征檢測器
■ 基於Fern 的點分類器 和 平面物體探測器
■ 旋轉圖像三維特征描述
■ 自相似特征(Self-similarity features)
■ HOG people 和物體檢測
■ LBP 特征(局部二值特征)
■ Haar 特征的擴展變種。現在支持 Haar 特征和LBPs,其他特征可以用同樣的方式添加。
■ 自適應皮膚檢測和模糊meanshift 跟蹤 ,參見:cvaux.hpp 以及 opencv/samples/c/adaptiveskindetector.cpp
☆ 添加與 新式的HAAR+LBP相互補的新的 traincascade應用的描述符。參見 opencv/apps/traincascade.
☆ opencv中添加了近似近鄰搜索算法 FLANN 的強大類庫,類庫的接口在cxcore中。參見 cxcore.hpp 以及 opencv/samples/c/find_obj.cpp
☆ 根據論文添加了濃密的光流估計算法。("Two-Frame Motion Estimation Based on Polynomial Expansion" by G. Farnerback.)
☆ 圖像扭曲操作(resize,remap,warpAffine,warpPerspective)現在全部支持 bicubic 和Lanczos interpolation。
☆ 大部分新的線性或者非線性濾波操作(filter2D,sepFilter2D,errod ,dilate ....)支持任意邊界模式。
☆ 數據現在可以保存或者加載GZIP格式壓縮的文件 XMl/YML .eg: cvSave("a.xml.gz",my_huge_matrix);
3 MLL:
☆ 添加了極限隨機樹,同Boosting 或者 Random Trees 相比,使訓練速度超快。(by Maria Dimashova)
☆ 決策樹引擎和基於它的類別(決策樹自己 ,Boost, Random Trees) 被重做:
■ 它們消耗更少的內存(接近節省 200% )
■ 訓練過程可以在多線程中運行。(當opencv 支持 OPenMP)
■ boosting 分類對於數值變量相當快,因為有專門的低開銷分支。
☆ 添加了mltest。
4. HighGUI:
☆ 【linux】 添加了對立體相機的支持。
☆ 現在有捕捉視頻的統一的接口,不管是2個,3個還是n個攝像頭。
☆ 圖像可以在內存緩沖區中進行壓縮或者解壓縮。參見 C++ HighGUI 參考手冊。
5 Documentation:
☆ 參考手冊從HTML格式裝換成 LaTeX格式。http://opencv.willowgarage.com/documentation/index.html
6 Samples, misc.:
☆ 更好的眼睛檢測例子,參見 opencv/data/haarcascades/*[lefteye|righteye]*.xml
☆ 基於LBP級聯的正面面部檢測。 參見 opencv/data/lbpcascdes/lbpcascade_frontalface.xml
☆ 幾個高質量的身體部分和面部特征檢測。參見 opencv/data/haarcascades/haarcascade_mcs*.xml
優化:
1. 許多基本函數以及圖像的處理操作(arithmetic operations, geometric image transformations, filtering等)經過SSE2優化,所以 它們快好幾倍。
2. IPP模型支持已經改變。現在的IPP的支持能夠用CMake檢測到,主要是 在配置階段和關聯opencv的時候。(在測試版本還沒有實 現)。
3.PNG編碼性能增加通過調節參數因子4.
Bug fixes:
參見 http://sourceforge.net/tracker/?group_id=22870&atid=376677 of the list of the closed and still opened bugs.
已知問題:
1. 基於configure和autotools 的編譯方式已經壞掉,請使用 CMake編譯
2. OpenCV 中bug跟蹤器在SF 仍然有150多個開放的bug。
3. 不支持 IPP。在2.0 gold 版本中將支持。
4. 參考文檔已經更新和改進了多次,但仍需要修改。
5.新式的Python 版本還沒有包括進來。
2.0
(2009年9月)
新功能,特征:
1.General:
☆ Windows安裝包已修好,MinGW 用來預編譯代碼
☆ 基於autotools編譯已經修好
☆ 新的Python 接口正式加入。
2 .MLL:
☆ 添加了新式類的別名(例如:cv::SVM~CvSVM)和訓練/預測方法,將cv::Mat 排除在Cvmat中。現在MLL可以無縫的使用剩下 的改變風格的OpenCV。
bug修訂:
在 2.0 beta 版本中的很多bug已經被修好,參考 OpenCV bug 跟蹤器。 http://sourceforge.net/tracker/?group_id=22870&atid=376677
待續..........
詳細參考 http://opencv.willowgarage.com/wiki/OpenCV%20Change%20Logs