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

OpenCV是干什么的?

更新時(shí)間:2021-05-26 來(lái)源:黑馬程序員 瀏覽量:

1.1 OpenCV簡(jiǎn)介

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

OpenCV的優(yōu)勢(shì):

·編程語(yǔ)言

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

·跨平臺(tái)

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

·活躍的開(kāi)發(fā)團(tuán)隊(duì)

·豐富的API

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

1.2 OpenCV-Python

OpenCV-Python是一個(gè)Python綁定庫(kù),旨在解決計(jì)算機(jī)視覺(jué)問(wèn)題。

Python是一種由Guido van Rossum開(kāi)發(fā)的通用編程語(yǔ)言,它很快就變得非常流行,主要是因?yàn)樗暮?jiǎn)單性和代碼可讀性。它使程序員能夠用更少的代碼行表達(dá)思想,而不會(huì)降低可讀性。

與C / C++等語(yǔ)言相比,Python速度較慢。也就是說(shuō),Python可以使用C / C++輕松擴(kuò)展,這使我們可以在C / C++中編寫(xiě)計(jì)算密集型代碼,并創(chuàng)建可用作Python模塊的Python包裝器。這給我們帶來(lái)了兩個(gè)好處:首先,代碼與原始C / C++代碼一樣快(因?yàn)樗窃诤笈_(tái)工作的實(shí)際C++代碼),其次,在Python中編寫(xiě)代碼比使用C / C++更容易。OpenCV-Python是原始OpenCV C++實(shí)現(xiàn)的Python包裝器。

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

2 OpenCV部署方法

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

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

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

pip install opencv-python==3.4.2.17

現(xiàn)在可以測(cè)試下是否安裝成功,運(yùn)行以下代碼無(wú)報(bào)錯(cuò)則說(shuō)明安裝成功。

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

如果我們要利用SIFT和SURF等進(jìn)行特征提取時(shí),還需要安裝:

pip install opencv-contrib-python==3.4.2.17



猜你喜歡:

什么是KNN算法?

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

深度分析box來(lái)提升檢測(cè)性能的方法

深度相機(jī)常見(jiàn)技術(shù):深度相機(jī)的相位求解

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!