首頁人工智能技術(shù)資訊正文

OpenCV是干什么的?

更新時間:2021-05-26 來源:黑馬程序員 瀏覽量:

1.1 OpenCV簡介

OpenCV是一款由Intel公司俄羅斯團隊發(fā)起并參與和維護的一個計算機視覺處理開源軟件庫,支持與計算機視覺和機器學(xué)習(xí)相關(guān)的眾多算法,并且正在日益擴展。

OpenCV的優(yōu)勢:

·編程語言

OpenCV基于C++實現(xiàn),同時提供python, Ruby, Matlab等語言的接口。OpenCV-Python是OpenCV的Python API,結(jié)合了OpenCV C++ API和Python語言的最佳特性。

·跨平臺

可以在不同的系統(tǒng)平臺上使用,包括Windows,Linux,OS X,Android和iOS?;贑UDA和OpenCL的高速GPU操作接口也在積極開發(fā)中

·活躍的開發(fā)團隊

·豐富的API

完善的傳統(tǒng)計算機視覺算法,涵蓋主流的機器學(xué)習(xí)算法,同時添加了對深度學(xué)習(xí)的支持。

1.2 OpenCV-Python

OpenCV-Python是一個Python綁定庫,旨在解決計算機視覺問題。

Python是一種由Guido van Rossum開發(fā)的通用編程語言,它很快就變得非常流行,主要是因為它的簡單性和代碼可讀性。它使程序員能夠用更少的代碼行表達思想,而不會降低可讀性。

與C / C++等語言相比,Python速度較慢。也就是說,Python可以使用C / C++輕松擴展,這使我們可以在C / C++中編寫計算密集型代碼,并創(chuàng)建可用作Python模塊的Python包裝器。這給我們帶來了兩個好處:首先,代碼與原始C / C++代碼一樣快(因為它是在后臺工作的實際C++代碼),其次,在Python中編寫代碼比使用C / C++更容易。OpenCV-Python是原始OpenCV C++實現(xiàn)的Python包裝器。

OpenCV-Python使用Numpy,這是一個高度優(yōu)化的數(shù)據(jù)庫操作庫,具有MATLAB風(fēng)格的語法。所有OpenCV數(shù)組結(jié)構(gòu)都轉(zhuǎn)換為Numpy數(shù)組。這也使得與使用Numpy的其他庫(如SciPy和Matplotlib)集成更容易。

2 OpenCV部署方法

安裝OpenCV之前需要先安裝numpy, matplotlib。

創(chuàng)建Python虛擬環(huán)境cv, 在cv中安裝即可。

先安裝OpenCV-Python, 由于一些經(jīng)典的算法被申請了版權(quán),新版本有很大的限制,所以選用3.4.3以下的版本

pip install opencv-python==3.4.2.17

現(xiàn)在可以測試下是否安裝成功,運行以下代碼無報錯則說明安裝成功。

import cv2
# 讀一個圖片并進行顯示(圖片路徑需自己指定)
lena=cv2.imread("1.jpg")
cv2.imshow("image",lena)
cv2.waitKey(0)

如果我們要利用SIFT和SURF等進行特征提取時,還需要安裝:

pip install opencv-contrib-python==3.4.2.17



猜你喜歡:

什么是KNN算法?

什么是OCR?OCR技術(shù)詳解

深度分析box來提升檢測性能的方法

深度相機常見技術(shù):深度相機的相位求解

黑馬程序員人工智能培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!