最新国产AV资源网_亚洲熟女AV天堂五月天_中文字幕丶东京热_中文字幕乱码免费高清视频

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

OpenCV是什么?

發(fā)布時(shí)間:2021-04-29 11:03:05


OpenCV是什么


OpenCV概述

在說OpenCV之前要說一下什么是計(jì)算機(jī)視覺,計(jì)算機(jī)視覺是在圖像基礎(chǔ)上發(fā)展起來的一門新興學(xué)科,計(jì)算機(jī)視覺是研究讓機(jī)器如何看世界,認(rèn)識(shí)這個(gè)五彩繽紛的世界,就是讓攝像頭代替人眼來對(duì)目標(biāo)進(jìn)行識(shí)別,跟蹤和測(cè)量,并進(jìn)一步對(duì)捕獲的圖像數(shù)據(jù)(視頻數(shù)據(jù))轉(zhuǎn)換成一種新的表達(dá)方式或者一個(gè)新的決策的過程!在轉(zhuǎn)換過程中進(jìn)行的轉(zhuǎn)換都是為了達(dá)到某一目標(biāo)。


舉個(gè)列子:通過輸入設(shè)備(攝像頭、掃描儀)將前方1米處發(fā)現(xiàn)的物體輸入到電腦中,并對(duì)這些數(shù)據(jù)進(jìn)行處理,然后與數(shù)據(jù)庫里的模型比對(duì),那么最后得到的決策可能是前方有一輛汽車或者站著一個(gè)人,處理的過程可能是把彩色圖像轉(zhuǎn)換成單通道的灰色圖(灰色圖要比彩色圖容易處理后面會(huì)說為什么),對(duì)圖像降噪聲,或者通過圖像序列分析去除攝像機(jī)晃動(dòng)的影響,這些轉(zhuǎn)換過程/處理過程最終將會(huì)轉(zhuǎn)換成一種新的決策,表達(dá)方式!


隨著計(jì)算機(jī)視覺的誕生,人工智能技術(shù)也隨著和誕生,其中人工智能技術(shù)中生物識(shí)別技術(shù)能從計(jì)算機(jī)處理的圖像數(shù)據(jù)(多維數(shù)據(jù))中獲取信息,并對(duì)這個(gè)信息進(jìn)行識(shí)別,并做相應(yīng)的處理,人工智能領(lǐng)域下有很多技術(shù)比如最著名的機(jī)器學(xué)習(xí)等等這里就不做太多的詳細(xì)介紹,后面學(xué)到機(jī)器學(xué)習(xí)時(shí)會(huì)和大家詳細(xì)介紹人工智能技術(shù)下各個(gè)領(lǐng)域作用!

因?yàn)橛?jì)算機(jī)視覺是計(jì)算機(jī)學(xué)科所以在、工程、信號(hào)處理、物理學(xué)、應(yīng)用數(shù)學(xué)和統(tǒng)計(jì)學(xué)、神經(jīng)生理學(xué)和認(rèn)知科學(xué)等都有研究方面,在制造業(yè)、檢驗(yàn)、文檔分析、醫(yī)療診斷、和軍事等領(lǐng)域等各種智能/自主應(yīng)用方面,都有非常廣闊的前景發(fā)展!


計(jì)算機(jī)視覺實(shí)現(xiàn)起來難嗎?
01


人類本身是視覺動(dòng)物,所以人類覺得可以很容易實(shí)現(xiàn)計(jì)算機(jī)視覺,假如說讓你從一個(gè)場(chǎng)景中找到一輛汽車,顯然很容易,因?yàn)槠嚤旧磔^大,容易被眼睛所捕獲,但是其中在捕獲的過程中有著很復(fù)雜的過程:

人腦將視覺信號(hào)劃分入很多個(gè)通道,將各種不同的信息輸入你的大腦。你的大腦有一個(gè)關(guān)注系統(tǒng),會(huì)根據(jù)任務(wù)識(shí)別出場(chǎng)景的重要部分,并做重點(diǎn)分析,而其他部分則分析的較少。在人類視覺流中存在著大量的反饋,但是目前人類對(duì)之了解甚少。肌肉控制的傳感器以及其他所有傳感器的輸入信息之間存在著廣泛的關(guān)聯(lián),這使得大腦可以依賴從出生以來所學(xué)到的信息,在大腦中反饋信息。

所以我們要想真正的實(shí)現(xiàn)一個(gè)人工智能產(chǎn)品的話就要把人類自己本身的所有信息模擬到計(jì)算機(jī)上,比如大腦=CPU,眼睛=攝像頭,感官=傳感器,并且要讓之間協(xié)調(diào)工作,相對(duì)來說是非常復(fù)雜的!

其次計(jì)算機(jī)接受到的數(shù)據(jù)主要來源于攝像頭,磁盤文件中的數(shù)值矩陣:

圖1.1(取之《學(xué)習(xí)OpenCV》)中的汽車有一個(gè)反光鏡但是計(jì)算機(jī)只看到一組數(shù)值矩陣:

圖1.1

由于該圖是單通道(黑白圖)所以一個(gè)矩陣數(shù)值就可以表示一個(gè)像素點(diǎn),如果是多通道的RGB顏色就需要三個(gè)數(shù)值表示,比如194210 201表示一個(gè)像素點(diǎn),而單通道194就可以表示像素點(diǎn)!

其中非常令人頭疼的問題就是圖像噪聲:

左:正常圖片右:帶圖像噪聲的圖片

如果一張圖里每個(gè)像素點(diǎn)上都摻雜著圖像噪聲的話會(huì)降低圖像識(shí)別的準(zhǔn)確率,圖像噪聲產(chǎn)生的問題主要來自輸入設(shè)備(攝像機(jī))。

場(chǎng)景物體的干擾
02

假如我們要做一個(gè)能夠自動(dòng)把房間里掉地上的書撿起來放到書架上,那么我們需要從這個(gè)房間場(chǎng)景中找出我們所需要的目標(biāo)物品:書。

假如說這個(gè)人的房間非常大或者在客廳,那么時(shí)首先如果從右到左或者從左到右采用地毯式的搜索的話會(huì)需要進(jìn)行大量的分析算法同時(shí)因?yàn)镃PU運(yùn)算單元會(huì)進(jìn)行過多的算法運(yùn)算一直處于高電平狀態(tài)。會(huì)加快消耗機(jī)器人的電能,在這樣的情況下我們可以告訴機(jī)器人書一般會(huì)在某個(gè)地方出現(xiàn):書柜、桌子、床上,沙發(fā)的周邊地區(qū)。然后將這三個(gè)模型導(dǎo)入到撿書機(jī)器人的比對(duì)數(shù)據(jù)庫里,首先一點(diǎn)是在拍攝這些配對(duì)模型時(shí),要將物品放到最能表現(xiàn)其特征的地方:“正中心位置”。

有了這些信息之后那么機(jī)器人可以很快的過濾掉場(chǎng)景中書籍不可能會(huì)掉落的地方,那么機(jī)器人可以很快的找出書籍并放到書架上!當(dāng)然你也可以給機(jī)器人安裝激光掃描儀使其捕獲的物品體積使其在機(jī)器訓(xùn)練時(shí)用捕獲的數(shù)據(jù)與模型數(shù)據(jù)進(jìn)行校正時(shí)更加準(zhǔn)確!

重建二維圖
03

就像上面說的,要從一個(gè)房間里找到書可以根據(jù)特征來尋找加快尋找時(shí)間,那么在找到一個(gè)目標(biāo)時(shí)首先要將這個(gè)目標(biāo)轉(zhuǎn)換成二維圖,也就是說三維圖是立體的,存在前后之分,而二維圖不存在前后之分,只有寬高,為什么要轉(zhuǎn)換成二維圖?

二維圖的方法就是從一個(gè)三維圖(立體)中根據(jù)二維特征(平面)將二維數(shù)據(jù)提取出來并映射到另外一個(gè)圖像數(shù)據(jù)上!

可以看到二維圖可以更好的方便識(shí)別所需表面特征!


OpenCV

image.png

簡單介紹
01

OpenCV是計(jì)算機(jī)視覺開源庫,主要算法涉及圖像處理和機(jī)器學(xué)習(xí)相關(guān)方法。可以運(yùn)行在Linux、WindowsAndroidMac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。

OpenCV用C++語言編寫,它具有C ++,Python,JavaMATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要傾向于實(shí)時(shí)視覺應(yīng)用,并在可用時(shí)利用MMX和SSE指令, 如今也提供對(duì)于C#、Ch、Ruby,GO的支持。


可移植性
02

最新版本是OpenCV4.5.1,Opencv采用C/C++編寫在不同的系統(tǒng)環(huán)境上只要稍微修改一下代碼就可以編譯通過,可以在Mac/Linux/Windows系統(tǒng)上運(yùn)行,并且為python,Ruby,MATLAB等編程語言提供接口!

運(yùn)行效率
03

OpenCV在設(shè)計(jì)時(shí)的目標(biāo)就是執(zhí)行速度盡量快所以內(nèi)部函數(shù)都是標(biāo)C函數(shù)來編寫的,如果想要起到硬件加速(內(nèi)部函數(shù)用IPP優(yōu)化)需要購買IPP庫,購買IPP庫后OpenCV在運(yùn)行時(shí)會(huì)自動(dòng)調(diào)用IPP庫做優(yōu)化!

應(yīng)用領(lǐng)域
04

目前OpenCV應(yīng)用領(lǐng)域非常廣泛,在醫(yī)療設(shè)備、工廠檢驗(yàn)、立體視覺、機(jī)器學(xué)習(xí)、人臉別識(shí)別、圖像拼接、生物醫(yī)學(xué)分析、無人機(jī)、等人工智能領(lǐng)域有廣泛應(yīng)用,OpenCV可謂大顯身手,而這些,僅僅是其應(yīng)用的冰山一角!

甚至計(jì)算機(jī)視覺可以用在聲譜圖上,對(duì)聲音和音樂進(jìn)行分析!

并且計(jì)算機(jī)視覺被廣泛應(yīng)用于工廠檢驗(yàn),大規(guī)模的產(chǎn)品制造在流水線上的某一環(huán)節(jié)都使用計(jì)算機(jī)視覺做檢測(cè)!

版權(quán)
05

在多數(shù)圖像處理相關(guān)的應(yīng)用程序中被采用,BSD許可,可以免費(fèi)應(yīng)用在商業(yè)和研究領(lǐng)域,OpenCV開源協(xié)議允許你使用OpenCV庫的全部代碼,生成商業(yè)產(chǎn)品,并且不需要公開源代碼,或?qū)penCV庫中的算法改善后的算法!

如今,來自世界各地的各大公司、科研機(jī)構(gòu)的研究人員,共同維護(hù)支持著opencv的開源庫開發(fā)。這些公司和機(jī)構(gòu)包括:微軟,IBM,索尼、西門子、google、intel、斯坦福、MIT、CMU、劍橋等。

預(yù)備學(xué)習(xí)OpenCV
06

在學(xué)習(xí)OpenCV之前要懂得C/C++編程,和一些數(shù)學(xué)基礎(chǔ)!


盛圖科技
高端IT培訓(xùn)第一品牌


上一篇:Linux模擬實(shí)現(xiàn)僵尸進(jìn)程
下一篇:關(guān)于死鎖的一系列問題

歡迎登錄盛圖科技

歡迎注冊(cè)盛圖科技

已有賬號(hào),立即登錄