OpenCV簡(jiǎn)介
OpenCV 的全稱是:Open Source Comeputer Vision Library普筹;OpenCv是一個(gè)基Android和Mac os操作系統(tǒng)上,它輕量級(jí)而且高效--由一系列C函數(shù)和少量C++類構(gòu)成条获、實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法;
OpenCV用C++語言編寫居扒,他的主要接口也是C++語言不铆,但是依然保留了大量的C語言接口;該庫也有大量的Python啥纸,Java and MATLAB号杏、octave(版本2.5)的接口;這些語言的API接口函數(shù)可以通過在線文檔獲得斯棒;如今也提供C#盾致,Ch,Ruby的支持荣暮;
最新的OpenCV3.x版本還支持CUDA以及OpenCL并行運(yùn)算庫(內(nèi)容來自百度嘻嘻)庭惜。
OpenCV的各大模塊:
core
——定義了基本數(shù)據(jù)結(jié)構(gòu),動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)穗酥,繪圖函數(shù)护赊,數(shù)組操作相關(guān)函數(shù),輔助功能與系統(tǒng)函數(shù)和宏砾跃,與OpenGL的互操作骏啰,包括最重要的Mat和一些其他的模塊
imgproc
——該模塊包括了線性和非線性的圖像濾波,圖像的幾何變換抽高,顏色空間轉(zhuǎn)換判耕,直方圖處理,結(jié)構(gòu)分析和形狀描述翘骂,運(yùn)動(dòng)分析和對(duì)象跟蹤壁熄,特征檢測(cè),目標(biāo)檢測(cè)等等(image和process的縮寫組合雏胃,圖像處理模塊)
video
——該模塊包括運(yùn)動(dòng)估計(jì)请毛,背景分離,對(duì)象跟蹤
calib3d
——基本的多視角幾何算法瞭亮,單個(gè)立體攝像頭標(biāo)定方仿,物體姿態(tài)估計(jì),立體相似性算法,3D信息的重建
features2d
——顯著特征檢測(cè)仙蚜,描述此洲,特征匹配,委粉,描述符提取通用接口呜师,,關(guān)鍵點(diǎn)繪制函數(shù)和匹配功能繪制函數(shù)贾节。
objdetect
——物體檢測(cè)和預(yù)定義好的分類器實(shí)例(比如人臉汁汗,眼睛,面部栗涂,人知牌,車輛等等),目標(biāo)檢測(cè)模塊斤程,包含cascade classification(級(jí)聯(lián)分類)和latent svm 這兩個(gè)部分角寸。
highgui——視頻捕捉、圖像和視頻的編碼解碼忿墅、圖形交互界面的接口
gpu
——利用GPU對(duì)OpenCV模塊進(jìn)行加速算法
ml
——machine learning 機(jī)器學(xué)習(xí)模塊(SVM扁藕,決策樹,Boosting等等)
統(tǒng)計(jì)模型(statistical models)疚脐,一般貝葉斯分類器(normal bayes classifier)亿柑,K-近鄰(-nearest neighbors),支持向量機(jī)(support vector machines)棍弄,決策樹(decision trees)橄杨,提升(boosting),梯度提高樹(gradient boosted trees)照卦,神經(jīng)網(wǎng)絡(luò)(neural networks)
flann
——Fast Library for Approximate Nearest Neighbors(FLANN)算法庫
legacy
——一些已經(jīng)廢棄的代碼庫,保留下來作為向下兼容
還有一些其他的模塊乡摹,比如FLANN算法庫役耕、Google測(cè)試包、Python bingdings等等聪廉;更詳細(xì)請(qǐng)參考官方Wiki瞬痘;
安裝與配置(Windows)
下載地址:https://opencv.org/releases/
選擇自己對(duì)應(yīng)的版本下載即可,對(duì)于Windows板熊,會(huì)是一個(gè)自解壓文件框全,下載過后點(diǎn)擊解壓即可:
加入到環(huán)境變量
打開解壓出來的文件夾:opencv\opencv\build\x64\vc14
比如我的是:
為什么需要加入到環(huán)境變量?
因?yàn)槲覀兿M谌魏挝恢枚伎梢允褂盟?/p>
配置VS
打開vs
點(diǎn)擊確定繼續(xù)津辩;
屬性管理器-
vc++目錄-包含目錄-添加D:\opencv\opencv\build\include、D:\opencv\opencv\build\include\opencv、D:\opencv\opencv\build\include\opencv2
庫目錄-D:\opencv\opencv\build\x64\vc15\lib
鏈接器--輸入-附加依賴項(xiàng)-加入
opencv_world345d.lib
*注意在E:\opencv\opencv\build\x64\vc15\bin找到opencv_world344.dll、opencv_world344d.dll將其放在C:\Windows\System32(64bit)
新建文件測(cè)試環(huán)境是否搭建成功
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
int main(int argc, char** argv)
{
Mat src = imread("C:\\Users\\Mypc\\Desktop\\1.jpg");// (切記圖片路徑若是要使用\則是雙\\)
namedWindow("hhh", CV_WINDOW_AUTOSIZE);
imshow("hhh", src);
waitKey(0);
return 0;
}
運(yùn)行結(jié)果
Linux
官方教程:https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html