Java應用OpenCV指南其二:OpenCV組件淺析

在上一章我們成功安裝並配置了OpenCV,現在我們可以查看一下解壓目錄F:\tools\opencv\build\include下的文件,有兩個:
這裏寫圖片描述
opencv中包含了過去版本中保留下來的頭文件,這裏不做介紹。而opencv2中則包含了我們目前主要使用的組件,可以看到其中包含了一個叫做opencv_modules.hpp的hpp文件,打開可以看到裏面包含了OpenCV2中所有組件的宏:
這裏寫圖片描述

【calib3d】——其實就是Calibration(校準)加3D這兩個詞的組合縮寫。這個模塊主要是相機校準和三維重建相關的內容。基本的多視角幾何算法,單個立體攝像頭標定,物體姿態估計,立體相似性算法,3D信息的重建等等。

【contrib】——也就是Contributed/Experimental Stuf的縮寫, 該模塊包含了關一些於人臉識別,立體匹配,人工視網膜模型等技術的實現方法。

【core】——核心功能模塊,包含如下內容:
• OpenCV基本數據結構
• 動態數據結構
• 繪圖函數
• 數組操作相關函數
• 輔助功能與系統函數和宏
• 與OpenGL的互操作

【imgproc】——Image和Processing這兩個單詞的縮寫組合。圖像處理模塊,這個模塊包含了如下內容:
• 線性和非線性的圖像濾波
• 圖像的幾何變換
• 其它(Miscellaneous)圖像轉換
• 直方圖相關
• 結構分析和形狀描述
• 運動分析和對象跟蹤
• 特徵檢測
• 目標檢測等內容

【imgcodecs】與圖象讀寫相關的模塊,包含了圖象的讀取輸出操作,值得一提的是,OpenCV並沒有在Java中實現imshow,這使得我們想要輸出圖片查看效果時只能通過imwrite,或者自己動手實現一個類似imshow的方法。這個模塊包含了如下內容:
• imdecode 從內存緩衝中讀取一張圖片
• imencode 將一張圖片寫入內存緩衝
• imread 從文件中讀取一張圖片
• imwrite 將一張圖片寫入指定文件

【features2d】 ——也就是Features2D, 2D功能框架 ,包含如下內容:
• 特徵檢測和描述
• 特徵檢測器(Feature Detectors)通用接口
• 描述符提取器(Descriptor Extractors)通用接口
• 描述符匹配器(Descriptor Matchers)通用接口
• 通用描述符(Generic Descriptor)匹配器通用接口
• 關鍵點繪製函數和匹配功能繪製函數

【flann】—— Fast Library for Approximate Nearest Neighbors,高維的近似近鄰快速搜索算法庫,包含兩個部分:
• 快速近似最近鄰搜索
• 聚類

【highgui】——也就是high gui,高層GUI圖形用戶界面,包含媒體的I / O輸入輸出,視頻捕捉、圖像和視頻的編碼解碼、圖形交互界面的接口等內容

【ml】——Machine Learning,機器學習模塊, 基本上是統計模型和分類算法,包含如下內容:
• 統計模型 (Statistical Models)
• 一般貝葉斯分類器 (Normal Bayes Classifier)
• K-近鄰 (K-NearestNeighbors)
• 支持向量機 (Support Vector Machines)
• 決策樹 (Decision Trees)
• 提升(Boosting)
• 梯度提高樹(Gradient Boosted Trees)
• 隨機樹 (Random Trees)
• 超隨機樹 (Extremely randomized trees)
• 期望最大化 (Expectation Maximization)
• 神經網絡 (Neural Networks)
• MLData

【objdetect】——目標檢測模塊,包含Cascade Classification(級聯分類)和Latent SVM這兩個部分。

【photo】——也就是Computational Photography,包含圖像修復和圖像去噪兩部分

【stitching】——images stitching,圖像拼接模塊,包含如下部分:
• 拼接流水線
• 特點尋找和匹配圖像
• 估計旋轉
• 自動校準
• 圖片歪斜
• 接縫估測
• 曝光補償
• 圖片混合

【superres】——SuperResolution,超分辨率技術的相關功能模塊

【video】——視頻分析組件,該模塊包括運動估計,背景分離,對象跟蹤等視頻處理相關內容。

其中我們平時用的最多,也最基礎的就是core、imgproc以及imgcodecs模塊,其中包括了圖象的基本操作和常用處理算法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章