完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > OpenCV
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對(duì)于C#,Ch, Ruby的支持。所有新的開發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開始實(shí)現(xiàn)。
OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對(duì)于C#,Ch, Ruby的支持。所有新的開發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開始實(shí)現(xiàn)。
定義
OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一個(gè)基于BSD許可[1] (開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。[2] 最新版本是3.4 ,2017年12月23日發(fā)布[3] 。OpenCV 擁有包括 500 多個(gè)C函數(shù)的跨平臺(tái)的中、高層 API。它不依賴于其它的外部庫——盡管也可以使用某些外部庫。OpenCV 為Intel® Integrated Performance Primitives (IPP) 提供了透明接口。 這意味著如果有為特定處理器優(yōu)化的 IPP 庫, OpenCV 將在運(yùn)行時(shí)自動(dòng)加載這些庫。[4] (注:OpenCV 2.0版的代碼已顯著優(yōu)化,無需IPP來提升性能,故2.0版不再提供IPP接口)
優(yōu)勢(shì)
為什么有OpenCV計(jì)算機(jī)視覺市場(chǎng)巨大而且持續(xù)增長,且這方面沒有標(biāo)準(zhǔn)API,如今的計(jì)算機(jī)視覺軟件大概有以下三種:1.研究代碼(慢,不穩(wěn)定,獨(dú)立并與其他庫不兼容)2.耗費(fèi)很高的商業(yè)化工具(比如Halcon, MATLAB+Simulink)3.依賴硬件的一些特別的解決方案(比如視頻監(jiān)控,制造控制系統(tǒng),醫(yī)療設(shè)備)這是如今的現(xiàn)狀。而標(biāo)準(zhǔn)的API將簡化計(jì)算機(jī)視覺程序和解決方案的開發(fā)。OpenCV致力于成為這樣的標(biāo)準(zhǔn)API。OpenCV致力于真實(shí)世界的實(shí)時(shí)應(yīng)用,通過優(yōu)化的C代碼的編寫對(duì)其執(zhí)行速度帶來了可觀的提升,并且可以通過購買Intel的IPP高性能多媒體函數(shù)庫(Integrated Performance Primitives)得到更快的處理速度。右圖為OpenCV與當(dāng)前其他主流視覺函數(shù)庫的性能比較
編程語言
OpenCV用C++語言編寫,它的主要接口也是C++語言,但是依然保留了大量的C語言接口。該庫也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。這些語言的API接口函數(shù)可以通過在線文檔獲得。如今也提供對(duì)于C#,Ch, Ruby的支持。
所有新的開發(fā)和算法都是用C++接口。一個(gè)使用CUDA的GPU接口也于2010年9月開始實(shí)現(xiàn)。
系統(tǒng)支持
OpenCV可以在 Windows, Android, Maemo,F(xiàn)reeBSD, OpenBSD, iOS,Linux 和Mac OS等平臺(tái)上運(yùn)行。使用者可以在 SourceForge 獲得官方版本, 或者從 SVN 獲得開發(fā)版本。OpenCV也是用 CMake.
Windows prerequisites
在Windows上編譯OpenCV中與攝像輸入有關(guān)部分時(shí),需要DirectShow SDK中的一些基類。該SDK可以從預(yù)先編譯的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目錄Samples\Multimedia\DirectShow\BaseClasses獲得。
學(xué)OpenCV,需要一些什么樣的基礎(chǔ)
作為計(jì)算機(jī)視覺的開源庫,OpenCV強(qiáng)大而實(shí)用,下面分享一下我學(xué)OpenCV的經(jīng)驗(yàn)。
剛開始是由于大學(xué)生創(chuàng)新項(xiàng)目的原因,在大二的時(shí)候就開始接觸,當(dāng)時(shí)我已經(jīng)有了C++和Java的基礎(chǔ)了。不過先聲明一下,兩種語言我都學(xué)得不怎么樣,囧~既然你想學(xué)C++版的OpenCV的API,那就要掌握C++的基礎(chǔ)知識(shí),特別是類、繼承方面的基本原理,當(dāng)然要求不是很高,理解就行。我說有Java基礎(chǔ),不是讓你學(xué)Java,而是掌握一種查API手冊(cè)的習(xí)慣和能力,就是,遇到不懂的類或函數(shù)(方法),通過查手冊(cè)了解。我的這種能力是從Java課上學(xué)到的,故在這里贅述。
拿到的第一本書叫《學(xué)習(xí)OpenCV(中文版)》,這本書是C語言版的,比較經(jīng)典了。說實(shí)話,個(gè)人覺得對(duì)我的幫助不是很大。除了讓我學(xué)會(huì)了讀取圖像和視頻,還有知道一些圖像處理的函數(shù)之外,其他倒沒有什么。不過里面的原理倒是介紹的不錯(cuò),不過對(duì)于初學(xué)者來說,可能效果不是那么好。因?yàn)槔锩嫔婕暗臇|西太多,感覺吸收有壓力。
總的來說,學(xué)習(xí)OpenCV的時(shí)候,切忌一下幾點(diǎn):
有一定的C++基礎(chǔ),會(huì)查閱API手冊(cè);
學(xué)會(huì)安裝配置開發(fā)環(huán)境;
針對(duì)各個(gè)模塊學(xué),核心模塊必學(xué)(特別是矩陣處理),基礎(chǔ)的圖像處理也要學(xué),其他結(jié)合項(xiàng)目學(xué);
邊學(xué)邊動(dòng)手,一定要敲代碼,看例程;
遇到問題,查手冊(cè),上論壇,網(wǎng)上找資源。。。
樹莓派上使用OpenCV和Python實(shí)現(xiàn)實(shí)時(shí)人臉檢測(cè)
本文介紹了如何在樹莓派上,使用 OpenCV 和 Python 完成人臉檢測(cè)項(xiàng)目。該項(xiàng)目不僅描述了識(shí)別人臉?biāo)枰木唧w步驟,同時(shí)還提供了很多擴(kuò)展知識(shí)。此...
對(duì)于3.3以上的版本,每個(gè)追蹤器可以用各自的函數(shù)創(chuàng)造,如cv2. TrackerKCF_create。詞典OPENCV_OBJECT_TRACKERS包...
2018-08-05 標(biāo)簽:機(jī)器學(xué)習(xí)追蹤算法OpenCV 3.3萬 0
基于OpenCV3.0的BM、SGBM和GC算法對(duì)比
基于OpenCV3.0,對(duì)BM、SGBM和GC算法進(jìn)行了對(duì)比測(cè)試研究。由于SGBM算法視差效果好速度快的特點(diǎn),常常被廣泛應(yīng)用和改進(jìn),本文針對(duì)SGBM算法...
它以計(jì)算機(jī)視覺處理、數(shù)字圖像處理、模式識(shí)別等技術(shù)為基礎(chǔ),對(duì)攝像機(jī)所 拍攝的車輛圖像或者視頻圖像進(jìn)行處理分析,得到每輛車的車牌號(hào)碼,從而完成識(shí)別過程。通過...
OpenCV 圖像清晰度評(píng)價(jià)(相機(jī)自動(dòng)對(duì)焦)
圖像清晰度評(píng)價(jià)算法有很多種,在空域中,主要思路是考察圖像的領(lǐng)域?qū)Ρ榷?,即相鄰像素間的灰度特征的梯度差;在頻域中,主要思路是考察圖像的頻率分量,對(duì)焦清晰的...
2018-01-17 標(biāo)簽:OpenCV 1.6萬 0
如何用Opencv實(shí)現(xiàn)靜態(tài)手勢(shì)識(shí)別玩石頭剪刀布?
opencv實(shí)現(xiàn)算法如下:把圖片先進(jìn)行處理,處理過程:1.用膨脹圖像與腐蝕圖像相減的方法獲得輪廓。2.用二值化獲得圖像。3. 反色。經(jīng)過如上的處理之后,圖片為:
2017-02-10 標(biāo)簽:手勢(shì)識(shí)別opencv 1.3萬 0
OpenCV3.3+VS2017開發(fā)環(huán)境搭建
OpenCV 3.3在8月3號(hào)正式Release,帶來了許多優(yōu)化改進(jìn)和新特性,包括備受關(guān)注的深度神經(jīng)網(wǎng)絡(luò)(DNN)模塊被正式引入主倉庫,標(biāo)志著OpenC...
基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì)
基于OpenCV的人臉識(shí)別系統(tǒng)是一個(gè)復(fù)雜但功能強(qiáng)大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機(jī)交互、智能家居等多個(gè)領(lǐng)域。下面將詳細(xì)介紹基于OpenCV的人臉識(shí)別系統(tǒng)...
2024-07-11 標(biāo)簽:計(jì)算機(jī)OpenCV人臉識(shí)別系統(tǒng) 1.2萬 0
使用OpenCV+ONNXRuntime部署YOLOV7目標(biāo)檢測(cè)
使用opencv部署的程序,有一個(gè)待優(yōu)化的問題。onnxruntime讀取.onnx文件可以獲得輸入張量的形狀信息, 但是opencv的dnn模塊讀取....
OpenCV的主要特點(diǎn)和優(yōu)勢(shì)發(fā)展歷程和應(yīng)用等資料說明立即下載
類別:單片機(jī) 2019-04-26 標(biāo)簽:Linux計(jì)算機(jī)視覺OpenCV
類別:PCB設(shè)計(jì)規(guī)則 2012-05-12 標(biāo)簽:OpenCV
類別:電子教材 2015-07-04 標(biāo)簽:OpenCVOpenCV圖像處理
基于OPENCV的運(yùn)動(dòng)目標(biāo)跟蹤實(shí)現(xiàn)立即下載
類別:測(cè)試測(cè)量 2011-11-07 標(biāo)簽:目標(biāo)跟蹤運(yùn)動(dòng)目標(biāo)OPENCV
基于Opencv的手勢(shì)識(shí)別系統(tǒng)分析_毛曉潔立即下載
類別:模擬數(shù)字論文 2015-05-04 標(biāo)簽:OpencvOpencv識(shí)別
類別:C語言|源代碼 標(biāo)簽:OpencvOpencv識(shí)別
基于openCV的人臉檢測(cè)識(shí)別系統(tǒng)的設(shè)計(jì)立即下載
類別:圖形圖像 2012-06-15 標(biāo)簽:檢測(cè)系統(tǒng)人臉檢測(cè)openCV
opencv二值化圖像去噪學(xué)習(xí)總結(jié)
OpenCV于1999年由Intel建立,如今由Willow Garage提供支持。OpenCV是一個(gè)基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可...
兩者的區(qū)別就是Computer Vision和Computer Graphics這兩個(gè)學(xué)科之間的區(qū)別,前者專注于從采集到的視覺圖像中獲取信息,是用機(jī)器...
如何用opencv實(shí)現(xiàn)感興趣區(qū)域ROI的選取
感興趣區(qū)域(Region of Interest, ROI)的選取,一般有兩種情形:1)已知ROI在圖像中的位置;2)ROI在圖像中的位置未知。
在檢測(cè)物體的輪廓時(shí),我們通常會(huì)使用到opencv中的findcontour和drawcontour,比較常用而且效果不錯(cuò)。那么findcontour是基...
2017-12-04 標(biāo)簽:opencv 3.2萬 0
opencv圖像識(shí)別數(shù)字的簡單實(shí)例
因?yàn)閛pencv有2.0 和 3.0 的版本區(qū)別,所以網(wǎng)上搜到的函數(shù)或類型都是兩種格式,建議用新版的,什么impImage* 類型的都是2.0版本的寫法...
opencv如何實(shí)現(xiàn)圖像旋轉(zhuǎn)_原理是什么
旋轉(zhuǎn)一般是指將圖像圍繞某一指定點(diǎn)旋轉(zhuǎn)一定的角度,圖像旋轉(zhuǎn)后會(huì)有一部分圖像轉(zhuǎn)出顯示區(qū)域,可以截圖那部分,也可以改變圖像的尺寸使得圖像顯示完全。
2017-12-04 標(biāo)簽:opencv圖像旋轉(zhuǎn) 2.8萬 0
透視變換(Perspective Transformation)是將圖片投影到一個(gè)新的視平面(Viewing Plane),也稱作投影映射(Projec...
2017-12-04 標(biāo)簽:opencv 1.9萬 0
我們首先介紹下計(jì)算機(jī)視覺領(lǐng)域中常見的三個(gè)坐標(biāo)系:圖像坐標(biāo)系,相機(jī)坐標(biāo)系,世界坐標(biāo)系。以及他們之間的關(guān)系。然后介紹如何使用張正友相機(jī)標(biāo)定法標(biāo)定相機(jī)。攝像機(jī)...
2017-12-04 標(biāo)簽:opencv 1.8萬 0
轉(zhuǎn)自 | 小白學(xué)視覺 ? OpenCV Halcon 開發(fā)語言 C++、C#(emgu)、Python、Ruby、MATLAB等語言 C,C++,C#,...
2021-10-13 標(biāo)簽:C++計(jì)算機(jī)視覺opencv 1.6萬 0
對(duì)人類來說,人臉識(shí)別很容易僅僅是才三天的嬰兒已經(jīng)可以區(qū)分周圍熟悉的人臉了。那么對(duì)于計(jì)算機(jī)來說,到底有多難?其實(shí),迄今為止,我們對(duì)于人類自己為何可以區(qū)分不...
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |