文章目錄
- 前言
- 1.Core核心功能
- 1.1 基本數據類型和結構:
- 1.2 數組操作:
- 1.3 數學函數:
- 1.4 隨機數生成:
- 1.5 線性代數運算:
- 1.6 常用數據結構和算法:
- 1.7 XML/YAML文件讀寫:
- 1.8 錯誤處理:
- 1.9時間測量:
- 2.imgproc圖像處理
- 2.1 圖像濾波:
- 2.2 幾何變換:
- 2.3 圖像金字塔:
- 2.4 圖像閾值化:
- 2.5邊緣檢測:
- 2.6 形態學操作:
- 2.7 顏色空間轉換:
- 2.8 直方圖:
- 2.9 圖像修復:
- 2.10 模板匹配:
- 2.11 輪廓檢測與分析:
- 2.12 霍夫變換:
- 2.13 圖像分割:
- 2.14 繪圖函數:
- 2.15 傅里葉變換:
- 3. imgcodecs.圖像文件讀寫
- 3.1 圖像讀取:
- 3.2 圖像寫入:
- 3.3 編碼參數設置:
- 3.4 圖像編碼和解碼:
- 3.5 多頁圖像支持:
- 3.6 圖像質量評估:
- 4 Videoio視頻 I/O
- 4.1 視頻捕獲:
- 4.2 視頻保存:
- 4.3 視頻流讀取:
- 4.4 視頻流寫入:
- 4.5 視頻幀獲取和設置:
- 4.6 攝像頭參數設置:
- 4.7 多平臺支持:
- 4.8 視頻編解碼器支持:
- 5 highgui高級GUI
- 5.1 圖像顯示:
- 5.2 窗口管理:
- 5.3 用戶交互:
- 5.4 軌跡條(滑動條):
- 5.5 圖像文件I/O:
- 5.6 視頻顯示:
- 5.7 基本繪圖功能:
- 5.9 跨平臺支持:
- 6 Video視頻分析
- 6.1 視頻捕獲:
- 6.2 視頻編解碼:
- 6.3 視頻處理:
- 6.4 對象跟蹤:
- 6.5 光流計算:
- 6.6 視頻分析:
- 6.7 攝像頭接口:
- 6.8 視頻幀處理工具:
- 6.9時間戳處理:
- 7 calib3d相機校準和3D重建
- 7.1 相機校準:
- 7.2 立體視覺:
- 7.3 姿態估計:
- 7.4 三維重建:
- 7.5 畸變校正:
- 7.6 圖像拼接:
- 7.7 結構光:
- 7.8 外參估計:
- 8 features2d 特征框架
- 8.1 特征檢測:
- 8.2 特征描述:
- 8.3 特征匹配:
- 8.4 關鍵點檢測和描述:
- 8.5 圖像對齊和拼接:
- 8.6 局部特征提取和匹配:
- 8.7 多尺度特征檢測:
- 8.8 特征點繪制:
- 8.9 特征匹配過濾:
- 8.10 自適應特征檢測:
- 9 objdetect目標檢測
- 9.1 對象檢測:
- 9.2 HOG特征和SVM檢測:
- 9.3 人臉檢測和識別:
- 9.4 QR碼檢測:
- 9.5 基于模板的對象檢測:
- 9.6 條形碼檢測:
- 9.7 自定義分類器訓練:
- 9.8 對象跟蹤:
- 9.9 人臉標志點檢測:
- 10 dnn深度神經網絡模塊
- 10.1 深度學習模型加載和推理:
- 10.2 支持的層類型:
- 10.3 預處理和后處理:
- 10.4 模型優化:
- 10.5 兼容性和硬件加速:
- 10.6 模型的轉換工具:
- 10.7 端到端應用:
- 10.8 自定義層支持:
- 10.9 示例和預訓練模型:
- 10.10 模型部署:
- 11 ml機器學習
- 11.1 分類算法:
- 11.2 回歸算法:
- 11.3 聚類算法:
- 11.4 貝葉斯分類:
- 11.5 神經網絡:
- 11.6 決策樹:
- 11.7 隨機森林:
- 11.8 Boosting算法:
- 11.9 SVM(支持向量機):
- 11.10 核函數:
- 11.11 模型評估和交叉驗證:
- 11.12 特征選擇:
- 11.13 數據預處理:
- 11.14 概率模型:
- 11.15 集成學習:
- 12 flann.多維空間中的聚類和搜索
- 12.1 快速最近鄰搜索:
- 12.2 索引構建和查詢:
- 12.3 參數自動調優:
- 12.4 多維數據支持:
- 12.5 可擴展性:
- 12.6 高效的內存管理:
- 12.7 并行處理:
- 12.8 跨平臺支持:
- 13 photo計算攝影
- 13.1 去噪算法:
- 13.2 圖像修復(Inpainting):
- 13.3 HDR(高動態范圍成像):
- 13.4 色調映射(Tone Mapping):
- 13.5 無縫克隆(Seamless Cloning):
- 13.6 顏色轉移(Color Transfer):
- 13.7 曝光補償(Exposure Compensation):
- 13.8 去閃爍(DeFlicker):
- 13.9 邊緣保持濾波:
- 14 stitching.圖像拼接
- 14.1 圖像拼接:
- 14.2 特征檢測與匹配:
- 14.3 圖像配準:
- 14.4 曝光補償:
- 14.5 圖像混合:
- 14.6 相機參數估計:
- 14.7 圖像矯正:
- 14.8 旋轉和縮放:
- 14.9 多通道圖像支持:
- 14.10 GPU加速:
- 15 G-API.圖形 API
- 15.1 圖形處理管道(Graph API):
- 15.2 延遲計算(Lazy Evaluation):
- 15.3 跨平臺和設備支持:
- 15.4 自定義算子:
- 15.5 優化的內存管理:
- 15.6 易于集成:
- 15.7 高層次抽象:
- 15.8 支持多種后端:
- 15.9 流水線并行處理:
- 15.10 可視化調試:
- 16.額外模塊:
前言
1.Core核心功能
1.1 基本數據類型和結構:
??包括矩陣(Mat)、標量(Scalar)、點(Point)、大小(Size)、矩形(Rect)等基本數據結構,用于圖像處理中的各種操作。
1.2 數組操作:
??支持多維數組的創建、訪問、操作和變換,包括基本的矩陣運算(加減乘除、轉置、求逆、求行列式等)。
1.3 數學函數:
??提供了各種數學函數,包括基礎的算術運算、常見的數學函數(如三角函數、指數和對數函數)、統計函數(如均值、方差、直方圖等)。
1.4 隨機數生成:
??提供了各種隨機數生成器,可以用于圖像處理中的噪聲添加、隨機采樣等操作。
1.5 線性代數運算:
??包括矩陣分解(如SVD、Cholesky分解等)和線性方程組的求解。
1.6 常用數據結構和算法:
??如查找表、優先隊列、k-最近鄰(k-NN)搜索等。
1.7 XML/YAML文件讀寫:
??提供了對XML和YAML格式文件的讀寫支持,可以保存和加載模型、參數等數據。
1.8 錯誤處理:
??包括錯誤處理機制和調試工具。
1.9時間測量:
??提供了用于時間測量的函數,可以用于性能分析和優化。
2.imgproc圖像處理
2.1 圖像濾波:
??包括各種圖像濾波器,如均值濾波、高斯濾波、中值濾波、雙邊濾波等,用于圖像平滑和去噪。
2.2 幾何變換:
??包括圖像的縮放、旋轉、平移、仿射變換和透視變換等。
2.3 圖像金字塔:
??支持圖像的高斯金字塔和拉普拉斯金字塔操作,用于多尺度圖像處理。
2.4 圖像閾值化:
??包括簡單閾值、自適應閾值和Otsu閾值等,用于圖像分割。
2.5邊緣檢測:
??包括Sobel算子、Scharr算子、Laplacian算子和Canny邊緣檢測等。
2.6 形態學操作:
??包括腐蝕、膨脹、開操作、閉操作、形態學梯度、頂帽、黑帽等,用于圖像形態學處理。
2.7 顏色空間轉換:
??支持多種顏色空間的轉換,如BGR與灰度圖、HSV、Lab、YUV等之間的轉換。
2.8 直方圖:
??包括直方圖計算、直方圖均衡化、直方圖比較和反向投影等。
2.9 圖像修復:
??包括圖像的內插和外推,用于修復圖像中的缺陷。
2.10 模板匹配:
??用于在圖像中搜索和定位模板圖像。
2.11 輪廓檢測與分析:
??包括輪廓檢測、輪廓特征提取(如周長、面積、矩、邊界框等)、輪廓近似和凸包計算等。
2.12 霍夫變換:
??用于檢測直線和圓,如霍夫線變換和霍夫圓變換。
2.13 圖像分割:
??包括分水嶺算法、GrabCut算法等,用于圖像的前景背景分割。
2.14 繪圖函數:
??用于在圖像上繪制基本圖形,如線條、矩形、圓形、多邊形、文本等。
2.15 傅里葉變換:
??支持圖像的傅里葉變換和逆傅里葉變換,用于頻域分析。
3. imgcodecs.圖像文件讀寫
3.1 圖像讀取:
??支持從文件中讀取圖像。可以讀取各種格式的圖像文件,如JPEG、PNG、TIFF、BMP、WebP等。
3.2 圖像寫入:
??支持將圖像保存到文件中。可以將圖像保存為不同格式的文件,如JPEG、PNG、TIFF、BMP、WebP等。
3.3 編碼參數設置:
??在保存圖像時,可以指定各種編碼參數,如JPEG的壓縮質量、PNG的壓縮級別等。
3.4 圖像編碼和解碼:
??支持將圖像數據編碼為內存中的特定格式(如JPEG、PNG)或從內存中的特定格式解碼為圖像數據。
3.5 多頁圖像支持:
??支持讀取和寫入多頁TIFF文件。
3.6 圖像質量評估:
??提供了圖像的質量評估函數,用于在編碼過程中控制圖像質量和文件大小的平衡。
4 Videoio視頻 I/O
4.1 視頻捕獲:
??通過攝像頭、視頻文件或網絡流捕獲視頻幀。支持多種格式和編碼類型。
4.2 視頻保存:
??將視頻幀保存為視頻文件,支持多種編碼器和文件格式,如AVI、MP4等。
4.3 視頻流讀取:
??讀取和解碼視頻文件或視頻流中的幀,用于視頻分析和處理。
4.4 視頻流寫入:
??編碼和寫入視頻幀到視頻文件或視頻流,支持設置編碼參數和輸出格式。
4.5 視頻幀獲取和設置:
??獲取和設置視頻流中的幀屬性,如幀寬度、幀高度、幀率、幀計數等。
4.6 攝像頭參數設置:
??設置攝像頭的參數,如曝光、亮度、對比度、飽和度等。
4.7 多平臺支持:
??支持多種操作系統和平臺,包括Windows、Linux和macOS。
4.8 視頻編解碼器支持:
??支持多種視頻編解碼器,如H.264、MPEG-4、MJPEG等。
5 highgui高級GUI
5.1 圖像顯示:
??使用cv::imshow函數在窗口中顯示圖像。可以創建多個命名窗口來顯示不同的圖像。
5.2 窗口管理:
??1.使用cv::namedWindow創建命名窗口。
??2使用cv::destroyWindow或cv::destroyAllWindows關閉一個或所有窗口。
??3.設置窗口屬性,如窗口大小、位置和自動大小調整。
5.3 用戶交互:
??1.使用cv::waitKey函數等待鍵盤輸入,可以捕捉用戶的按鍵操作。
??2.使用cv::setMouseCallback函數設置鼠標回調,處理鼠標事件,如單擊、拖動等。
5.4 軌跡條(滑動條):
??1.使用cv::createTrackbar函數在窗口中創建軌跡條(滑動條),用于調整參數并實時查看效果。
5.5 圖像文件I/O:
??1.使用cv::imread函數讀取圖像文件,支持多種圖像格式如JPEG、PNG、BMP等。
??2.使用cv::imwrite函數保存圖像文件。
5.6 視頻顯示:
??使用cv::imshow函數顯示視頻幀,與videoio模塊結合使用,可以實時顯示攝像頭捕獲的視頻流或視頻文件的內容。
5.7 基本繪圖功能:
??提供繪制線條、矩形、圓、文字等基本繪圖功能,可以在顯示圖像或視頻幀上疊加圖形和文字。
??## 5.8 簡單GUI元素:
提供一些基本的GUI元素,如按鈕和復選框(在某些版本中可用)。
5.9 跨平臺支持:
??支持在不同操作系統(如Windows、Linux、macOS)上提供一致的圖形界面功能。
6 Video視頻分析
6.1 視頻捕獲:
??1.使用cv::VideoCapture類從攝像頭、視頻文件或圖像序列中捕獲視頻幀。
??2.支持各種視頻文件格式(如AVI、MP4)和圖像序列格式。
6.2 視頻編解碼:
??1.使用cv::VideoWriter類將圖像序列寫入視頻文件。
??2.支持多種視頻編解碼器(如MJPEG、H.264)。
6.3 視頻處理:
??1.提供函數進行視頻幀的處理,如背景減除、光流計算、對象跟蹤等。
??2.支持多種視頻處理算法,如KNN
、MOG2
背景減除算法。
6.4 對象跟蹤:
??提供多種對象跟蹤算法,如KLT(Kanade-Lucas-Tomasi)跟蹤器、CSRT、KCF等。
6.5 光流計算:
??1/使用cv::calcOpticalFlowPyrLK等函數計算稠密或稀疏光流。
??支持多種光流計算方法,如Farneback
光流法。
6.6 視頻分析:
??1.提供運動檢測、前景分割等視頻分析功能。
??2.支持統計視頻中對象的運動軌跡和變化情況。
6.7 攝像頭接口:
??1.支持多種攝像頭接口,如USB攝像頭、IP攝像頭。
??2.提供攝像頭參數設置和查詢功能。
6.8 視頻幀處理工具:
??提供對視頻幀進行基本圖像處理的工具,如縮放、旋轉、裁剪等。
6.9時間戳處理:
??支持獲取視頻幀的時間戳,以便進行同步處理或分析。
7 calib3d相機校準和3D重建
7.1 相機校準:
??1.提供多種相機校準方法,用于估算相機內參和畸變系數,如cv::calibrateCamera、cv::fisheye::calibrate。
??2.支持單目相機校準和雙目相機校準(立體校準)。
7.2 立體視覺:
??1.提供立體匹配算法,如cv::StereoBM、cv::StereoSGBM,用于計算視差圖。
??2.支持立體整流(stereo rectification),如cv::stereoRectify。
7.3 姿態估計:
??1.使用cv::solvePnP、cv::solvePnPRansac等函數根據2D圖像點和3D物體點估算相機姿態。
??2.提供cv::Rodrigues函數在旋轉矩陣和旋轉向量之間轉換。
7.4 三維重建:
??1.使用cv::reprojectImageTo3D函數根據視差圖重建三維點云。
??2.提供基礎矩陣、單應矩陣計算,如cv::findFundamentalMat、cv::findHomography。
7.5 畸變校正:
??1.提供函數用于矯正相機鏡頭的畸變,如cv::undistort、cv::initUndistortRectifyMap。
??2.支持魚眼鏡頭的畸變校正,如cv::fisheye::undistortImage。
7.6 圖像拼接:
??提供基于特征點的圖像拼接功能,如全景圖像的創建。
7.7 結構光:
??支持結構光掃描,用于三維重建。
7.8 外參估計:
??提供函數估計兩個相機之間的旋轉和平移,如cv::stereoCalibrate。
8 features2d 特征框架
8.1 特征檢測:
??提供多種特征檢測算法,如Harris角點檢測、FAST、STAR、SIFT、SURF、ORB等,用于檢測圖像中的關鍵點。
8.2 特征描述:
??提供多種特征描述子算法,如BRIEF、SIFT、SURF、ORB、FREAK等,用于計算圖像關鍵點的描述子。
8.3 特征匹配:
??1.提供多種特征匹配算法,如BFMatcher(Brute-Force Matcher)和FLANN-based Matcher,用于匹配不同圖像中的特征點。
??2.支持KNN(k近鄰)匹配和暴力匹配方法。
8.4 關鍵點檢測和描述:
??提供統一的接口,如cv::Feature2D類,可以同時進行特征檢測和描述,方便使用。
8.5 圖像對齊和拼接:
??使用特征點匹配實現圖像對齊和拼接,如全景圖像的創建。
8.6 局部特征提取和匹配:
??支持在圖像中提取局部特征點并進行匹配,用于圖像識別、物體識別和圖像檢索等應用。
8.7 多尺度特征檢測:
??支持在不同尺度下檢測特征點,適用于不同尺度的圖像處理。
8.8 特征點繪制:
??提供繪制函數,如cv::drawKeypoints、cv::drawMatches,用于在圖像中可視化特征點和匹配結果。
8.9 特征匹配過濾:
??提供基于距離比值的匹配過濾方法,如Lowe’s ratio test,用于去除錯誤匹配。
8.10 自適應特征檢測:
??支持自適應閾值和非最大抑制,提供更魯棒的特征檢測結果。
9 objdetect目標檢測
9.1 對象檢測:
??1.提供基于Haar
級聯分類器(Haar Cascade)的對象檢測功能,如人臉檢測、眼睛檢測、車牌檢測等。
??2.提供基于LBP(局部二值模式)級聯分類器的對象檢測。
9.2 HOG特征和SVM檢測:
??1.使用Histogram of Oriented Gradients(HOG)特征結合支持向量機(SVM)進行行人檢測。
??2.提供預訓練的行人檢測模型,可以直接使用cv::HOGDescriptor類進行行人檢測。
9.3 人臉檢測和識別:
??1.提供DNN(深度神經網絡)模型用于人臉檢測和人臉關鍵點檢測,如cv::dnn::readNet加載預訓練的DNN模型。
??2.支持多種人臉檢測算法,如MTCNN、SSD(Single Shot Multibox Detector)等。
9.4 QR碼檢測:
??提供QR碼檢測和解碼功能,可以檢測圖像中的QR碼并提取其中的信息。
9.5 基于模板的對象檢測:
??使用模板匹配方法進行對象檢測,如cv::matchTemplate函數。
9.6 條形碼檢測:
??提供條形碼檢測功能,可以檢測和解碼一維條形碼和二維條碼。
9.7 自定義分類器訓練:
??提供工具和接口用于訓練自定義的Haar級聯分類器,用于檢測特定對象。
9.8 對象跟蹤:
??提供對象檢測和跟蹤的集成方法,結合檢測和跟蹤算法實現實時對象跟蹤。
9.9 人臉標志點檢測:
??提供人臉標志點檢測功能,可以檢測人臉的特征點,如眼睛、鼻子、嘴巴等。
10 dnn深度神經網絡模塊
10.1 深度學習模型加載和推理:
??1.支持加載多種深度學習框架的模型,包括Caffe、TensorFlow、Torch、Darknet、ONNX等。
??2.提供cv::dnn::readNet和cv::dnn::readNetFromONNX等函數加載模型。
??3.使用cv::dnn::Net類進行模型推理,包括前向傳播。
10.2 支持的層類型:
??提供多種神經網絡層類型,如卷積層、池化層、全連接層、激活層、歸一化層、RNN/LSTM層等,支持構建和運行復雜的神經網絡。
10.3 預處理和后處理:
??1.提供圖像預處理函數,如cv::dnn::blobFromImage,將圖像轉換為網絡輸入的格式。
??2.提供常用的后處理操作,如非極大值抑制(NMS)和檢測結果的解碼。
10.4 模型優化:
??支持對深度學習模型進行優化,如量化、剪枝和轉換,以提高推理速度和減少內存占用。
10.5 兼容性和硬件加速:
??1.支持CPU、GPU和OpenVINO等多種硬件加速平臺。
??2.提供對多種深度學習推理引擎的支持,如OpenCV自帶的推理引擎、Intel’s OpenVINO、NVIDIA TensorRT等。
10.6 模型的轉換工具:
提供工具和接口將其他框架的模型轉換為OpenCV可用的格式,如ONNX模型轉換工具。
10.7 端到端應用:
??支持構建端到端的深度學習應用,如物體檢測、圖像分類、語義分割、人臉識別等。
10.8 自定義層支持:
??允許用戶定義和使用自定義的神經網絡層,滿足特殊應用需求。
10.9 示例和預訓練模型:
??提供大量的示例代碼和預訓練模型,幫助用戶快速上手和開發深度學習應用。
10.10 模型部署:
??支持將深度學習模型部署到各種平臺,如嵌入式設備、服務器、移動設備等,實現實際應用。
11 ml機器學習
11.1 分類算法:
??支持多種分類算法,如k近鄰算法(k-Nearest Neighbors, KNN)、支持向量機(Support Vector Machine, SVM)、決策樹(Decision Trees)、隨機森林(Random Forests)、Boosting算法(如AdaBoost)等。
11.2 回歸算法:
??提供線性回歸(Linear Regression)和邏輯回歸(Logistic Regression)等回歸算法。
11.3 聚類算法:
??提供k均值聚類(k-Means Clustering)算法,用于對數據進行聚類分析。
11.4 貝葉斯分類:
??支持樸素貝葉斯分類器(Naive Bayes Classifier),適用于分類任務。
11.5 神經網絡:
??提供簡單的人工神經網絡(Artificial Neural Network, ANN)實現,包括多層感知器(Multilayer Perceptron, MLP)。
11.6 決策樹:
??提供CART(Classification and Regression Tree)決策樹算法,支持分類和回歸任務。
11.7 隨機森林:
??支持隨機森林算法(Random Forests),通過集成多個決策樹進行分類和回歸。
11.8 Boosting算法:
提供AdaBoost和Gradient Boosting算法,提升弱分類器的性能。
11.9 SVM(支持向量機):
??支持線性和非線性支持向量機(SVM),可用于分類和回歸。
11.10 核函數:
??支持多種核函數(Kernel Functions),如線性核、RBF核、多項式核等,適用于支持向量機和其他核方法。
11.11 模型評估和交叉驗證:
??提供模型評估和交叉驗證工具,如K折交叉驗證(K-Fold Cross Validation)和混淆矩陣(Confusion Matrix),用于評估模型性能。
11.12 特征選擇:
??提供特征選擇和降維工具,如主成分分析(PCA)和特征重要性評估。
11.13 數據預處理:
??支持數據標準化、歸一化和分割,便于訓練和測試模型。
11.14 概率模型:
??支持隱馬爾可夫模型(Hidden Markov Model, HMM)和高斯混合模型(Gaussian Mixture Model, GMM),用于時間序列分析和聚類。
11.15 集成學習:
??提供集成學習方法,通過集成多個弱學習器提高模型的泛化能力。
12 flann.多維空間中的聚類和搜索
12.1 快速最近鄰搜索:
??1.提供快速最近鄰搜索(Fast Approximate Nearest Neighbors, FLANN)功能,用于高維數據的快速最近鄰查找。
??2.支持多種近似最近鄰搜索算法,如k-d樹(k-d Tree)、LSH(Locality-Sensitive Hashing)等。
12.2 索引構建和查詢:
??1.提供構建不同類型索引的功能,如線性索引、k-d樹索引、k-means索引等,便于進行高效的最近鄰搜索。
??2.提供索引查詢功能,通過flann::Index類進行快速的最近鄰查詢。
12.3 參數自動調優:
??1.提供自動選擇最優參數的功能,確保在不同數據集上獲得最佳的搜索性能。
??2.支持通過參數優化算法自動選擇最佳的索引構建和搜索參數。
12.4 多維數據支持:
??1.支持對多維數據進行處理,適用于圖像特征匹配、圖像檢索、聚類分析等任務。
??2.提供高效的數據預處理和轉換功能,確保快速和準確的搜索結果。
12.5 可擴展性:
??1.支持擴展和定制化,允許用戶定義自定義距離度量和索引結構,以滿足特定應用需求。
??2.提供靈活的接口,便于集成到其他機器學習和計算機視覺應用中。
12.6 高效的內存管理:
??1.提供高效的內存管理策略,確保在處理大規模數據集時的性能和資源使用優化。
??2.支持內存映射文件,便于處理超大規模數據集。
12.7 并行處理:
??支持多線程并行處理,提高搜索速度和效率,特別是在大數據集和高維數據場景下。
12.8 跨平臺支持:
??提供跨平臺支持,適用于Windows、Linux、macOS等多種操作系統,確保廣泛的應用場景。
13 photo計算攝影
13.1 去噪算法:
??提供多種圖像去噪算法,如非局部均值去噪(Non-Local Means Denoising)、快速非局部均值去噪(Fast Non-Local Means Denoising)等,用于減少圖像中的噪聲。
13.2 圖像修復(Inpainting):
??提供圖像修復算法,通過cv::inpaint函數實現,用于修復圖像中缺失或損壞的部分。支持基于紋理合成和基于區域增長的修復方法。
13.3 HDR(高動態范圍成像):
??支持HDR圖像的生成和處理,包括多曝光圖像融合、色調映射(Tone Mapping)等。提供cv::createMergeMertens、cv::createMergeDebevec和cv::createMergeRobertson等函數用于HDR圖像生成。
13.4 色調映射(Tone Mapping):
??提供多種色調映射算法,用于將HDR圖像轉換為可顯示的低動態范圍圖像。支持線性色調映射、Drago色調映射、Reinhard色調映射和Mantiuk色調映射等。
13.5 無縫克隆(Seamless Cloning):
??提供無縫克隆算法,通過cv::seamlessClone函數實現,用于在目標圖像上無縫地合成源圖像內容。支持混合克隆和普通克隆兩種模式。
13.6 顏色轉移(Color Transfer):
??提供顏色轉移算法,通過cv::colorChange函數實現,用于將源圖像的顏色特征轉移到目標圖像上,實現顏色風格化效果。
13.7 曝光補償(Exposure Compensation):
??提供曝光補償功能,通過cv::createAlignMTB、cv::CalibrateDebevec等函數實現,用于對多曝光圖像進行對齊和曝光補償。
13.8 去閃爍(DeFlicker):
??提供視頻去閃爍功能,通過多幀處理減少視頻中的閃爍現象,提高視頻質量。
13.9 邊緣保持濾波:
??提供邊緣保持濾波算法,如雙邊濾波(Bilateral Filter)
、細節增強(Detail Enhancement)等,用于增強圖像細節和保持邊緣信息。
14 stitching.圖像拼接
14.1 圖像拼接:
??提供圖像拼接功能,通過cv::Stitcher類實現,將多張重疊圖像拼接成一張全景圖像。
支持全景圖像和寬視角圖像的生成。
14.2 特征檢測與匹配:
??提供特征檢測和匹配算法,如SIFT、SURF、ORB等,用于檢測圖像中的特征點,并在圖像之間進行特征匹配。
14.3 圖像配準:
??通過估計圖像間的變換矩陣,實現圖像配準。支持多種變換模型,如平移、仿射、透視變換等。
14.4 曝光補償:
??提供曝光補償功能,通過調整不同圖像的曝光度,使得拼接后的圖像具有一致的亮度。
14.5 圖像混合:
??提供圖像混合算法,使用多頻段融合(Multi-band Blending)技術,實現無縫的圖像拼接,減少拼接區域的縫隙和重影。
14.6 相機參數估計:
??提供相機參數估計功能,支持從多張圖像中估計相機的內部和外部參數,提高拼接的精度。
14.7 圖像矯正:
??提供圖像矯正功能,通過去除透視失真和徑向畸變,提高拼接圖像的質量。
14.8 旋轉和縮放:
??支持旋轉和縮放操作,以確保圖像在拼接前對齊。
14.9 多通道圖像支持:
??支持RGB、灰度和多通道圖像的拼接,適用于不同類型的圖像數據。
14.10 GPU加速:
??在支持的硬件上,提供GPU加速選項,以提高拼接處理的速度。
15 G-API.圖形 API
15.1 圖形處理管道(Graph API):
??提供圖形處理管道功能,通過定義和執行圖像處理和計算機視覺任務的圖形結構,優化數據流和計算效率。
15.2 延遲計算(Lazy Evaluation):
??支持延遲計算技術,避免不必要的計算和數據傳輸,僅在需要時執行圖像處理操作,提高整體性能。
15.3 跨平臺和設備支持:
??支持跨平臺運行,包括CPU、GPU和其他硬件加速設備,實現高效的圖像處理和計算。
15.4 自定義算子:
??允許用戶定義自定義算子(Custom Kernels),擴展G-API的功能,滿足特定的圖像處理需求。
15.5 優化的內存管理:
??提供優化的內存管理策略,減少內存拷貝和數據冗余,提高處理速度和資源利用率。
15.6 易于集成:
??設計為易于與現有的OpenCV代碼和其他第三方庫集成,提供一致的API接口和兼容性。
15.7 高層次抽象:
??提供高層次的抽象,簡化圖像處理和計算機視覺任務的定義和實現,降低開發難度。
15.8 支持多種后端:
??支持多種后端,如OpenCL、CUDA、OpenVX嵌入式等,實現跨平臺和跨設備的優化加速。
15.9 流水線并行處理:
??支持流水線并行處理,提高多任務處理的效率和吞吐量。
15.10 可視化調試:
??提供可視化調試工具,幫助開發者理解和優化圖像處理管道,提高開發效率。
16.額外模塊:
alphamat. Alpha 摳圖
aruco. Aruco 標記(功能已移至 objdetect 模塊)
bgsegm. 改進的背景前景分割方法
bioinspired. 生物啟發的視覺模型及相關工具
cannops. Ascend 加速的計算機視覺
ccalib. 3D 重建的自定義校準模式
cudaarithm. 矩陣運算
cudabgsegm. 背景分割
cudacodec. 視頻編碼/解碼
cudafeatures2d. 特征檢測和描述
cudafilters. 圖像過濾
cudaimgproc. 圖像處理
cudalegacy. 舊版支持
cudaobjdetect. 物體檢測
cudaoptflow. 光流
cudastereo. 立體匹配
cudawarping. 圖像變形
cudev. 設備層
cvv. 用于計算機視覺程序交互式可視調試的 GUI
datasets. 用于處理不同數據集的框架
dnn_objdetect. 用于物體檢測的 DNN
dnn_superres. 用于超分辨率的 DNN
dpm. 變形部件模型
face. 面部分析
freetype. 使用 freetype/harfbuzz 繪制 UTF-8 字符串
fuzzy. 基于模糊數學的圖像處理
hdf. 層次數據格式 I/O 例程
hfs. 高效圖像分割的層次特征選擇
img_hash. 不同圖像哈希算法的實現
intensity_transform. 調整圖像對比度的強度變換算法的實現
julia. OpenCV 的 Julia 綁定
line_descriptor. 從圖像中提取線條的二進制描述符
mcc. Macbeth 色卡模塊
optflow. 光流算法
ovis. OGRE 3D 可視化工具
phase_unwrapping. 相位展開 API
plot. 用于 Mat 數據的繪圖功能
quality. 圖像質量分析(IQA)API
rapid. 基于輪廓的 3D 物體跟蹤
reg. 圖像配準
rgbd. RGB-深度處理
saliency. 顯著性 API
sfm. 從運動中重建結構
shape. 形狀距離和匹配
signal. 信號處理
stereo. 立體匹配算法
structured_light. 結構光 API
superres. 超分辨率
surface_matching. 表面匹配
text. 場景文本檢測和識別
tracking. 跟蹤 API
videostab. 視頻穩定
viz. 3D 可視化工具
wechat_qrcode. 用于檢測和解析二維碼的微信二維碼檢測器
xfeatures2d. 額外 2D 特征框架
ximgproc. 擴展圖像處理
xobjdetect. 擴展物體檢測
xphoto. 額外的照片處理算法