OpenCV4是一款開源的跨平臺計(jì)算機(jī)視覺庫,由一系列C函數(shù)和少量C++類構(gòu)成,同時提供了Python、MATLAB、Ruby等語言的接口,可應(yīng)用于人機(jī)互動,物體識別,圖像處理等領(lǐng)域。
應(yīng)用領(lǐng)域
應(yīng)用領(lǐng)域編輯
1、人機(jī)互動
2、物體識別
3、圖像分割
4、人臉識別
5、動作識別
6、運(yùn)動跟蹤
7、機(jī)器人
8、運(yùn)動分析
9、機(jī)器視覺
10、結(jié)構(gòu)分析
11、汽車安全駕駛
軟件特色
1、在擴(kuò)展模塊中去掉了SIFT與SURF相關(guān)API的調(diào)用文件
現(xiàn)在如果想在OpenCV Python 4.x中想使用SIFT與SURF只有靠自己從源代碼CMake來編譯生成python版本的安裝包才可以。
# OpenCV 3.x中
namedWindow(“input”, cv.CV_WINDOW_AUTOSIZE)
# OpenCV4.x
namedWindow(“input”, cv.WINDOW_AUTOSIZE)
2、全部取消CV_XXX這種枚舉類型,比如在3.x中可以正常使用的語句
# 在OpenCV3.x中輪廓發(fā)現(xiàn)API返回三個值分別為
# image 返回的圖像
# contours 每個輪廓的點(diǎn)集合
# hierarchy 每個輪廓對應(yīng)的層次信息
binary, contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)
3、findContours函數(shù)返回結(jié)果由3.x的三個參數(shù)變?yōu)閮蓚€參數(shù)
OpenCV4.0中需要改為
contours, hierarchy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)
4、增加了python語言版本的對DNN模塊的加持!
支持圖像分類、對象檢測(SSD、RCNN、Faster-RCNN、mask-RCNN)、圖像分割等網(wǎng)絡(luò)的使用
新增功能
DNN對很多網(wǎng)絡(luò)層進(jìn)行了提升,如ONNS中的LSTM, Broadcasting, Algebra over constants, Slice with multiple inputs;DarkNet中的grouped convolutions, sigmoid, swish, scale_channels;MobileNet-SSD v3
更多OpenVINO后端特性:可通過nGraph添加自定義層
優(yōu)化CUDA后端,并殺掉一些BUG
可以使用最新的IPP-CV 2020.0.0Gold版本進(jìn)行CPU優(yōu)化
使用SIMD指令優(yōu)化了integral、resize和RLOF實(shí)現(xiàn)
更多演示和例子
opencv_contrib:增加了Alpha Matting算法
calib3d:findChessboardCorners SB算法提升
core:getNumberOfCPUs()函數(shù)提升
imgcodecs:支持OpenJPEG庫
highgui(Qt):增加到剪切板的復(fù)制功能
使用方法
下載完成后得到OpenCV文件,便可以開始安裝過程。其實(shí)所謂的安裝是一個解壓的過程,可執(zhí)行文件是一個自解壓的程序,雙擊后便會提示我們選擇解壓路徑。
這里根據(jù)自己需求選擇路徑即可,特別要說明的是,該程序會將所有文件解壓在opencv的文件夾下,因此不需要在選擇解壓路徑中單獨(dú)新建一個opencv文件夾。由于筆者電腦安裝了多個版本的OpenCV,為避免混淆,單獨(dú)創(chuàng)建一個名為opencv4的文件夾,解壓到H:\opencv4。
選擇好路徑后點(diǎn)擊【Extract】按鈕,便可以等待解壓過程的結(jié)束。整個OpenCV4的大小約為1G,根據(jù)電腦的性能不同,等待時間從幾十秒到幾分鐘不等。