opencv入門要學(xué)多久 對(duì)于初學(xué)者,用C 還是python開發(fā)opencv程序?
對(duì)于初學(xué)者,用C 還是python開發(fā)opencv程序?作為初學(xué)者,你應(yīng)該通過opencv開發(fā)應(yīng)用學(xué)位來學(xué)習(xí)如何使用C語言,除非你天賦異稟,才華橫溢,否則一定是一個(gè)漫長(zhǎng)的過程,Python不一樣,語
對(duì)于初學(xué)者,用C 還是python開發(fā)opencv程序?
作為初學(xué)者,你應(yīng)該通過opencv開發(fā)應(yīng)用學(xué)位來學(xué)習(xí)如何使用C語言,除非你天賦異稟,才華橫溢,否則一定是一個(gè)漫長(zhǎng)的過程,Python不一樣,語法簡(jiǎn)單,開發(fā)環(huán)境配置簡(jiǎn)單,opencv調(diào)用也簡(jiǎn)單,根據(jù)網(wǎng)上的例子,做一個(gè)像樣的函數(shù)式程序并不太難,其中語言開發(fā)的關(guān)鍵在于:1環(huán)境要求2。你對(duì)項(xiàng)目效率的要求。
請(qǐng)問opencv程序可以用c#語言編寫嗎?
為什么有些算法崗位,需要用C 而不是python?
C/C是一種相對(duì)低級(jí)的語言,它可以很好地控制CPU/內(nèi)存和其他計(jì)算機(jī)資源,尤其是硬件。在算法運(yùn)算最精細(xì)的時(shí)候使用它們是很自然的。
但它們的優(yōu)點(diǎn)也是缺點(diǎn)。精細(xì)的操作自然需要精細(xì)的編程,精細(xì)的編程自然需要復(fù)雜的語言設(shè)置,比如什么是指針,什么是指針函數(shù),什么是函數(shù)指針當(dāng)你理解了這些概念,你可能就沒有編寫代碼的沖動(dòng)了。更重要的是,如果你想編寫高性能的代碼,你必須精通這些概念
Python的一個(gè)非常重要的特性就是所謂的“粘合語言”,也就是說它可以將用不同語言編寫的代碼模塊組合起來,然后通過Python調(diào)用它們。實(shí)際上,大多數(shù)算法庫都是用C/C語言編寫的,然后提供Python接口供用戶使用。畢竟,大多數(shù)人只需要知道如何調(diào)用封裝的算法。但是如果你想實(shí)現(xiàn)你自己的算法,你必須知道C/C
例如,Python就像一個(gè)電視遙控器,C/C就像遙控器中的電路板。通常,如果你想換臺(tái),只需按一下按鈕。但有一天你只需要一個(gè)將屏幕旋轉(zhuǎn)90度的功能,遙控器沒有這個(gè)功能,但可以通過卸下遙控板,插入幾個(gè)組件來實(shí)現(xiàn)。你是做什么的?
OpenCV已經(jīng)將圖像處理(識(shí)別)的算法寫成函數(shù)了,那我們還有必要去學(xué)習(xí)這些算法嗎?
這取決于你的目的。比如說現(xiàn)在的車這么先進(jìn)好用,你還需要了解變速箱的原理嗎?這取決于你的目的。如果只是普通駕駛,你不需要知道。如果你是一個(gè)機(jī)械師,你必須理解。如果你是一個(gè)汽車制造商的工程師,你必須對(duì)它非常了解。簡(jiǎn)言之,這取決于具體的需要。
opencv用什么語言編寫程序?
Opencv是一個(gè)基于BSD許可證(開源)的跨平臺(tái)計(jì)算機(jī)視覺庫,可在Linux、windows、Android和MacOS操作系統(tǒng)上運(yùn)行。它由一系列C函數(shù)和少量C類組成,具有輕量級(jí)和高效性。它還提供了python、ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺中的多種通用算法。Opencv是用C語言編寫的,它的主界面也是C語言,但它仍然保留了大量的C語言接口。該庫還有大量的python、Java和MATLAB/octave(版本2.5)接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。現(xiàn)在它還提供了對(duì)C#、CH和ruby的支持。