OpenCV與Open3D等開源視覺庫的詳細筆記
開源視覺庫,從二維(2D)逐步發展到三維(3D)并已經日益成熟。OpenCV版本為4.1.2+,Open3D版本為0.8+。
OpenCV:
OpenCV(開源計算機視覺庫)是一個開源計算機視覺和機器學習軟件庫。OpenCV的構建旨在為計算機視覺應用程序提供通用的基礎結構,并加速在商業產品中使用機器感知。作為BSD許可的產品,OpenCV使企業可以輕松地使用和修改代碼。
該庫具有2500多種優化算法,其中包括一整套經典和最新的計算機視覺和機器學習算法。這些算法可用于檢測和識別人臉,識別物體,對視頻中的人類動作進行分類,跟蹤相機運動,跟蹤運動物體,提取物體的3D模型,從立體相機產生3D點云,將圖像縫合在一起以產生高分辨率整個場景的圖像,從圖像數據庫中查找相似的圖像,從使用閃光燈拍攝的圖像中消除紅眼,跟隨眼睛的運動,識別風景并建立標記以將其與增強現實疊加在一起等。OpenCV擁有超過4.7萬人的用戶社區,下載量估計超過1800萬。該庫在公司,研究小組和政府機構中得到廣泛使用。
除了使用該庫的Google,Yahoo,Microsoft,Intel,IBM,Sony,Honda,Toyota之類的知名公司外,還有許多新興公司(例如Applied Minds,VideoSurf和Zeitera)廣泛使用OpenCV。OpenCV的部署用途包括將街景圖像拼接在一起,檢測以色列監視視頻中的入侵,監視中國的礦山設備,幫助機器人導航和拾取Willow Garage的物體,檢測歐洲游泳池溺水事故,在西班牙和紐約,在土耳其檢查跑道上的碎屑,檢查世界各地工廠產品上的標簽,然后在日本進行快速面部識別。
它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Arduino和Mac OS。OpenCV主要傾向于實時視覺應用,并在可用時利用MMX和SSE指令。?目前正在積極開發功能齊全的CUDA和OpenCL接口。有500多種算法,而構成或支持這些算法的功能大約是其10倍。OpenCV用C ++原生編寫,并具有可與STL容器無縫配合的模板化接口。
OpenCL:開放計算語言(OpenCL)是一種開放標準,用于編寫跨異構平臺(包括CPU,GPU,DSP等)運行的代碼。特別是,OpenCL為應用程序提供對GPU的訪問,以用于非圖形計算(GPGPU),在某些情況下會導致大大加快了速度。在計算機視覺中,許多算法可以在GPU上比在CPU上更有效地運行:例如圖像處理,矩陣算術,計算攝影,對象檢測等。
OpenGL:OpenGL是開發便攜式,交互式2D和3D圖形應用程序的主要環境。自1992年問世以來,OpenGL已成為業界使用最廣泛且受支持最多的2D和3D圖形應用程序編程接口(API),將成千上萬的應用程序帶入各種計算機平臺。OpenGL通過合并大量的渲染,紋理映射,特殊效果和其他強大的可視化功能來促進創新并加快應用程序開發。開發人員可以在所有流行的臺式機和工作站平臺上利用OpenGL的功能,從而確保廣泛的應用程序部署。
Open3D:
Open3D是一個開放源代碼庫,支持快速開發處理3D數據的軟件。Open3D前端在C++和Python中公開了一組精心選擇的數據結構和算法。后端經過高度優化,并設置為并行化。
介紹
Open3D是一個開放源代碼庫,支持快速開發處理3D數據的軟件。Open3D前端在C ++和Python中公開了一組精心選擇的數據結構和算法。后端經過高度優化,并設置為并行化。Open3D是從一開始就開發出來的,帶有很少的,經過仔細考慮的依賴項。它可以在不同的平臺上設置,并且可以從源代碼進行最小的編譯。代碼干凈,樣式一致,并通過清晰的代碼審查機制進行維護。Open3D已用于許多已發布的研究項目中,并已積極部署在云中。我們歡迎開源社區的貢獻。
核心功能
基本的3D數據結構
基本的3D數據處理算法
場景重建
表面對齊
3D可視化
Python綁定
支持的編譯器
Linux上的GCC 4.8及更高版本
OS X上的XCode 8.0及更高版本
Windows上的Visual Studio 2015及更高版本
PCL:The?Point?Cloud?Library(或PCL)是大型的,開放項目用于2D / 3D圖像和點云的處理。PCL框架包含眾多最新算法,包括濾波,特征估計,表面重建,配準,模型擬合和分段。這些算法可用于,例如,從嘈雜的數據中過濾離群值,將3D點云縫合在一起,分割場景的相關部分,提取關鍵點并計算描述符以根據物體的幾何外觀識別世界上的物體,并從中創建表面點云并將其可視化
計算機視覺庫OpenCV早年也是Intel開源的,在Intel公司的支持下,Open3D將會像OpenCV一樣成為三維開源視覺SDK標桿。
從源碼編譯安裝,但是相對復雜一些,特別注意:如果系統之前已經安裝了ROS,安裝Open3D的源碼編譯依賴時會卸載掉ROS,所以還是推薦第一種安裝方式。除非系統非常干凈,因為系統裝的東西太多的話,安裝包沖突會很麻煩。
Open3D: A Modern Library for 3D Data Processing
用于3D數據處理的現代庫
About Open3D?關于
Core features
Supported compilers
Resources
Getting Started?入門
Installing from PyPI or Conda
PyPI
Conda
Try it
Running Open3D tutorials
Compiling from source?源碼編譯
Ubuntu
1. Install dependencies (optional)
2. Setup Python binding environments
2.1 Select the right Python executable
2.2 Jupyter visualization widgets support (experimental)
2.3 Disable Python binding
3. Config
4. Build
5. Install
5.1 Install Open3D Python package
5.2 Install Open3D as a C++ library
MacOS
1. Install dependencies (optional)
2. Setup Python binding environments
3. Config
4. Build
5. Install
Windows
1. Dependencies
2. Setup Python binding environments
3. Config (generate Visual Studio solution)
4. Build
5. Install
Sanity check
Compilation Options
Dependencies
OpenMP
Unit test
Building Documentation?編譯文檔
Prerequisites
1. Build Open3D from source
2. Install Sphinx
3. Install Doxygen
Build
Contributing to Open3D?貢獻
Issues and pull requests
Maintain sanity of the project
Coding style
Automated style Checker
Install clang-format
Ubuntu
macOS
Windows
Checking clang-format version
Install YAPF
Checking and applying format
Ubuntu & macOS
Windows
Tutorial 教程
Basic
Advanced
Reconstruction system
C++ interface
Docker
Reference
Python API
open3d.camera
open3d.color_map
open3d.geometry
open3d.io
open3d.integration
open3d.odometry
open3d.registration
open3d.utility
open3d.visualization
OpenCV 華為開源鏡像站 Mirrors
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。