opencv下载安装及介绍【初学,后续继续更新】
1.下載
使用pip安裝Opencv應該是最快最簡單的安裝方式了
pip install opencv-contrib-python
如果pip原始源下載慢的話可以考慮使用國內源:
pip3 install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple
首先需要說明的是通過pip安裝的opencv包不是官方編譯好的opencv包, 也就是說他們沒有得到官方非認可, 但這并不影響你的正常使用.
一般來說, pip提供的opencv的包的類型有四種:
opencv-python: 只包含opencv庫的主要模塊. 一般不推薦安裝.
opencv-contrib-python: 包含主要模塊和contrib模塊, 功能基本完整, 推薦安裝.
opencv-python-headless: 和opencv-python一樣, 但是沒有GUI功能, 無外設系統可用.
opencv-contrib-python-headless: 和opencv-contrib-python一樣但是沒有GUI功能. 無外設系統可用.
因此一般來說都會選擇安裝opencv-contrib-python
不要同時安裝opencv-python和opencv-contrib-python
測試opencv是否安裝成功
import cv2
print(cv2.version)
如果成功導入opencv包并打印相應opencv的版本就說明安裝成功了.
最后, 通過pip安裝的opencv包不能使用非開源的算法, 如SIFT, SURF, 還有其他的opencv專利的算法, 如果不需要用到這些算法, 使用pip安裝opencv是可行的, 如果你需要用到這些算法, 那就要參考另一篇文章
opencv中文api
2 結構
OpenCV 是由很多模塊組成的,這些模塊可以分成很多層:
最底層是基于硬件加速層(HAL)的各種硬件優化。
再上一層是 opencv_contrib 模塊所包含的 OpenCV 由其他開發人員所貢獻的代碼,其包含大多數高層級的函數功能。這就是OpenCV的核心。
接下來是語言綁定和示例應用程序。
處于最上層的是 OpenCV 和操作系統的交互。
下圖顯示了 OpenCV 的這種組織關系。
圖1:OpenCV 層級結構及其所支持的操作系統
下表給出了 OpenCV 包含的具體模塊,雖然這些模塊會隨著時間推移而不斷的發展,但模塊始終是組成這個庫的基本單位,每個函數都是一個模塊的一部分。
表1:當前 OpenCV 所擁有的模塊
| Core | 該模塊包含 OpenCV 庫的基礎結構以及基本操作。 |
| Improc | 圖像處理模塊包含基本的圖像轉換,包括濾波以及類似的卷積操作。 |
| Highgui | 在 OpenCV 3.0中,分割為 imcodecs、videoio 以及 highgui 三部分。這個模塊包含可以用來顯示圖像或者簡單的輸入的用戶交互函數。這可以看作是一個非常輕量級的 Windows UI 工具包。 |
| Video | 該模塊包含讀取和寫視頻流的函數。 |
| Calib3d | 這個模塊包括校準單個、雙目以及多個相機的算法實現。 |
| Feature2d | 這個模塊包含用于檢測、描述以及匹配特征點的算法。 |
| Objdectect | 這個模塊包含檢測特定目標,比如人臉或者行人的算法。也可以訓練檢測器并用來檢測其他物體。 |
| Ml | 機器學習模塊本身是一個非常完備的模塊,包含大量的機器學習算法實現并且這些算法都能和 OpenCV 的數據類型自然交互。 |
| Flann | Flann 的意思是“快速最鄰近庫”。這個庫包含一些你也許不會直接使用的方法,但是其他模塊中的函數會調用它在數據集中進行最鄰近搜索。 |
| GPU | 在 OpenCV 中被分割為多個 cuda* 模塊。GPU 模塊主要是函數在 CUDA GPU 上的優化實現,此外,還有一些僅用于 GPU 的功 能。其中一些函數能夠返回很好的結果,但是需要足夠好的計算資源,如果硬件沒有GPU,則不會有什么提升。 |
| Photo | 這是一個相當新的模塊,包含計算攝影學的一些函數工具。 |
| Stitching | 本模塊是一個精巧的圖像拼接流程實現。這是庫中的新功能,但是,就像 Photo 模塊一樣,這個領域未來預計有很大的增長。 |
| Nonfree | 在 OpenCV 3.0 中,被移到 opencv_contrib/xfeatures2d。OpenCV 包含一些受到專利保護的或者受到使用限制的(比如 SIFT 算法)算法。這些算法被隔離到它們自己的模塊中,以表明你需要做一些特殊的工作,才可以在商業產品中使用它們。 |
| Contrib | 在 OpenCV 3.0 中,融合進了 opencv_contrib。這個模塊包含一些新的、還沒有被集成進 OpenCV 庫的東西。 |
| Legacy | 在 OpenCV 3.0 中,被取消。這個模塊包含一些老的尚未被完全取消的東西。 |
| ocl | 在OpenCV 3.0 中,被取消,取而代之的是 T-API。這是一個較新的模塊,可以認為它和 GPU 模塊相似,它實現了開放并行編程的 Khronos OpenCL 標準。雖然現在模塊的特性比 GPU 模塊少很多,但 ocl 模塊的目標是提供可以運行在任何 GPU 或者是其他可以搭載 Khronos 的并行設備。這與 GPU 模 塊形成了鮮明的對比,后者使用 Nividia CUDA 工具包進行開發,因此只能在 Nividia GPU 設備上工作。 |
總結
以上是生活随笔為你收集整理的opencv下载安装及介绍【初学,后续继续更新】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pytesseract的安装与使用。pi
- 下一篇: 原创:没看过《哪吒2》不配当中国人?黑粉