OpenCV簡(jiǎn)介與安裝
1177
2025-03-31
從Git獲取最新的OpenCV
OpenCV現(xiàn)在也處于積極的開發(fā)狀態(tài)中,當(dāng)bug報(bào)告中包含有準(zhǔn)確的描述以及代碼復(fù)現(xiàn) bug的時(shí)候,該bug通常會(huì)被迅速修復(fù)。然而,官方的OpenCV通常每年只發(fā)布一次到兩次,如果你正在開發(fā)一個(gè)項(xiàng)目或產(chǎn)品,可能想要OpenCV能夠盡快修復(fù)bug并更新。為了完成這些目的,需要在GitHub網(wǎng)站***問OpenCV的Git倉庫。
本節(jié)并不打算引導(dǎo)你如何使用Git,如果你還在使用另外的一些開源項(xiàng)目,也許對(duì)這套操作已經(jīng)很熟悉了。如果對(duì)此并不熟悉,請(qǐng)查閱Jon Loeliger(喬恩 ? 羅力格)所著的《Git 版本控制管理》(http://shop.oreilly.com/product/0636920022862.do)。Git的命令行工具有Linux,OS X以及大部分的類UNIX系統(tǒng)所支持。針對(duì)Windows,我們推薦TortoiseGit
(https://tortoisegit.org/);針對(duì)OS X,SourceTree也許適合。
在Windows上,如果想要從Git獲得OpenCV最新的版本,你需要訪問https://github.com/ opencv/opencv.git。
在Linux上,只需要輸入如下指令:
git clone https://github.com/opencv/opencv.git
更多的OpenCV文檔
OpenCV基礎(chǔ)文檔可以在http://opencv.org獲取。另外,在http://docs.opencv.org/2.4.13/ doc/tutorials/tutorials.html,也可以獲得更多深入教程,OpenCV的維基網(wǎng)站頁面現(xiàn)在位于https://github.com/opencv/opencv/wiki。
提供的文檔
OpenCV 2.x自身就提供PDF格式的完整的引用手冊(cè)以及豐富的教程,查看opencv/doc目錄就可以得到。從OpenCV 3.x開始,就不再提供離線的文檔了。
在線文檔和維基資源
正如我們之前提到的,在https://opencv.org上有大量的文檔和維基資源。文檔分為以下幾個(gè)主要部分。
參考(http://docs.opencv.org/)
這個(gè)部分包含函數(shù)、它們的參數(shù)以及如何使用它們的一些信息。
這個(gè)部分是許多教程的集合,這些教程會(huì)告訴你如何完成各種各樣的事情。這里有一些基礎(chǔ)課程的教程(比如如何在不同平臺(tái)上安裝OpenCV或者創(chuàng)建OpenCV項(xiàng)目)以及一些更高級(jí)的話題(比如目標(biāo)檢測(cè)的背景提取算法)。
本部分包含一個(gè)精心編制的快速指南,只包含幫助你在特定平臺(tái)上獲取和運(yùn)行
OpenCV的內(nèi)容。
只有一頁篇幅的PDF文檔,包含整個(gè)庫的高度壓縮的參考。感謝Vadim Pisarevsky制作了這個(gè)出色的速查表,這樣你就可以把這漂亮的兩頁紙釘在小隔間的墻上隨時(shí)查閱。
維基包含所有你可能想要的東西,甚至可能超乎你的想象。在這里,可以找到路線圖、新聞、開放問題、bug追蹤以及無數(shù)個(gè)更深入的主題,比如如何成為OpenCV的貢獻(xiàn)者。
問答社區(qū)是一個(gè)龐大的、包含數(shù)千個(gè)人遇到過的問題的檔案集合。可以在這里向OpenCV社區(qū)提問,或者通過回答問題幫助其他人。
以上所有在OpenCV.org的底部的有超鏈接可以訪問。在這些高質(zhì)量的資源中,有一個(gè)更值得我們討論——“參考”。參考劃分為幾個(gè)部分,每個(gè)部分都和庫中一個(gè)模塊有關(guān)。具體的模塊列表隨著時(shí)間推移而不斷的發(fā)展,但模塊始終是組成這個(gè)庫的基本單位。每個(gè)函數(shù)都是一個(gè)模塊的一部分,以下是當(dāng)前OpenCV所擁有的模塊。
Core
該模塊包含OpenCV庫的基礎(chǔ)結(jié)構(gòu)以及基本操作。
Improc
圖像處理模塊包含基本的圖像轉(zhuǎn)換,包括濾波以及類似的卷積操作。
Highgui(在OpenCV 3.0中,分割為imcodecs、videoio以及highgui三部分)
這個(gè)模塊包含可以用來顯示圖像或者簡(jiǎn)單的輸入的用戶交互函數(shù)。這可以看作是一個(gè)非常輕量級(jí)的Windows UI工具包。
Video
該模塊包含讀取和寫視頻流的函數(shù)。
Calib3d
這個(gè)模塊包括校準(zhǔn)單個(gè)、雙目以及多個(gè)相機(jī)的算法實(shí)現(xiàn)。
Feature2d
這個(gè)模塊包含用于檢測(cè)、描述以及匹配特征點(diǎn)的算法。
Objdectect
這個(gè)模塊包含檢測(cè)特定目標(biāo),比如人臉或者行人的算法。也可以訓(xùn)練檢測(cè)器并用來檢測(cè)其他物體。
Ml
機(jī)器學(xué)習(xí)模塊本身是一個(gè)非常完備的模塊,包含大量的機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)并且這些算法都能和OpenCV的數(shù)據(jù)類型自然交互。
Flann
Flann的意思是“快速最鄰近庫”。這個(gè)庫包含一些你也許不會(huì)直接使用的方法,但是其他模塊中的函數(shù)會(huì)調(diào)用它在數(shù)據(jù)集中進(jìn)行最鄰近搜索。
GPU(在OpenCV 3.x中被分割為多個(gè)cuda*模塊)
GPU模塊主要是函數(shù)在CUDA GPU上的優(yōu)化實(shí)現(xiàn),此外,還有一些僅用于GPU的功能。其中一些函數(shù)能夠返回很好的結(jié)果,但是需要足夠好的計(jì)算資源,如果硬件沒有GPU,則不會(huì)有什么提升。
Photo
這是一個(gè)相當(dāng)新的模塊,包含計(jì)算攝影學(xué)的一些函數(shù)工具。
Stitching
本模塊是一個(gè)精巧的圖像拼接流程實(shí)現(xiàn)。這是庫中的新功能,但是,就像Photo模塊一樣,這個(gè)領(lǐng)域未來預(yù)計(jì)有很大的增長(zhǎng)。
Nonfree(在OpenCV 3.0中,被移到opencv_contrib/xfeatures2d)
OpenCV包含一些受到專利保護(hù)的或者受到使用限制的(比如SIFT算法)算法。這些算法被隔離到它們自己的模塊中,以表明你需要做一些特殊的工作,才可以在商業(yè)產(chǎn)品中使用它們。
Contrib(在OpenCV 3.0中,融合進(jìn)了opencv_contrib)
這個(gè)模塊包含一些新的、還沒有被集成進(jìn)OpenCV庫的東西。
Legacy(在OpenCV 3.0中,被取消)
這個(gè)模塊包含一些老的尚未被完全取消的東西。
Ocl(在OpenCV 3.0中,被取消,取而代之的是T-API)
這是一個(gè)較新的模塊,可以認(rèn)為它和GPU模塊相似,它實(shí)現(xiàn)了開放并行編程的 Khronos OpenCL標(biāo)準(zhǔn)。雖然現(xiàn)在模塊的特性比GPU模塊少很多,但Ocl模塊的目標(biāo)是提供可以運(yùn)行在任何GPU或者是其他可以搭載Khronos的并行設(shè)備。這與GPU模塊形成了鮮明的對(duì)比,后者使用Nividia CUDA工具包進(jìn)行開發(fā),因此只能在NividiaGPU設(shè)備上工作。
盡管在線文檔的質(zhì)量越來越高,但并沒有充分解釋算法的實(shí)現(xiàn)細(xì)節(jié)及期所要求的參數(shù)的準(zhǔn)確含義。這本書的目的是提供這些信息以及幫助讀者更深入地理解庫中所有的基本模塊。
Git OpenCV
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。