OpenCV4.X庫功能全解---個人筆記

文章目錄

  • 前言
  • 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::destroyWindowcv::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.支持多種視頻處理算法,如KNNMOG2背景減除算法。

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::calibrateCameracv::fisheye::calibrate。
??2.支持單目相機校準和雙目相機校準(立體校準)。

7.2 立體視覺:

??1.提供立體匹配算法,如cv::StereoBMcv::StereoSGBM,用于計算視差圖。
??2.支持立體整流(stereo rectification),如cv::stereoRectify

7.3 姿態估計:

??1.使用cv::solvePnPcv::solvePnPRansac等函數根據2D圖像點和3D物體點估算相機姿態。
??2.提供cv::Rodrigues函數在旋轉矩陣和旋轉向量之間轉換。

7.4 三維重建:

??1.使用cv::reprojectImageTo3D函數根據視差圖重建三維點云。
??2.提供基礎矩陣、單應矩陣計算,如cv::findFundamentalMatcv::findHomography

7.5 畸變校正:

??1.提供函數用于矯正相機鏡頭的畸變,如cv::undistortcv::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::drawKeypointscv::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::readNetcv::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::createMergeMertenscv::createMergeDebeveccv::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::createAlignMTBcv::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. 額外的照片處理算法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/94518.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/94518.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/94518.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

代碼隨想錄刷題Day44

二叉搜索樹的最近公共祖先 這道題,可以沿用二叉樹的最近公共祖先的求法進行求解,也就是root判斷-左右子樹遞歸求LCA-根據左右子樹的LCA結果返回值這一套。 但是,如果要用上搜索二叉樹的有序性這個信息的話,就可以直接在遞歸時候確…

springmvc的數據校驗和處理的一個例子

JSR-303是Java 的標準規范,而 Spring MVC 對其提供了完美的支持和集成 1.JSR-303 的身份 JSR-303 是 Java 標準 JSR:Java Specification Request(Java 規范請求) JSR-303:Bean Validation 1.0(Bean 驗證規范…

SlowFast使用指南(三)——自建數據集

寫在前面 在前兩個章節初步使用了SlowFast,使用的都是官方給出的數據集。 附上鏈接: SlowFast使用指南(一)——demo運行-CSDN博客 SlowFast使用指南(二)——訓練ava數據集-CSDN博客 本文嘗試了使用自己的數…

Day26 樹的層序遍歷 哈希表 排序算法 內核鏈表

day26 樹的層序遍歷 哈希表 排序算法 內核鏈表 實現樹的層序遍歷(廣度遍歷) 使用隊列輔助實現二叉樹的層序遍歷。算法核心思想是:從根節點開始,依次將每一層的節點入隊,出隊時訪問該節點,并將其左右子節點&…

【系統分析師】高分論文:論快速應用開發方法及應用

【摘要】 我在某縣衛生健康委員會公共衛生信息中心工作,是信息中心的負責人。2021年5月,我中心受縣瘓病預防控制中心委托,為某種瘓病疫苗3期臨床項日開發受試對象攔截系統。我負責系統架構設計、需求分析以及后期的部分編碼工作。通過與慶病預…

4056:【GESP2403八級】接竹竿

/*4056:【GESP2403八級】接竹竿flag 數組 存儲每個元素出現的位置,nxt[i]j;存儲每個位置 后面第一次出現 與a【i】相等的位置//其中 a【i]a[j] :記錄i的下一個位置 ,flag 存儲每個值的位置下一次 具有下一次,相當于的鏈表了&…

企業落地版 AutoGen 多智能體工程(完整示例)

企業生產級參考實現,目標是一套可直接部署的模板工程,包含: FastAPI HTTP API(任務提交、狀態查詢) Celery 異步任務隊列(Redis Broker) PostgreSQL + pgvector(向量存儲,RAG) SQLAlchemy + Alembic(ORM 與遷移) AutoGen 多智能體編排(Planner / Coder / Executor…

前端的請求協議對應java的接收

application/json前端發送 JSON 數據,后端用 RequestBody 接收并自動映射為 Java 對象。前端示例(Axios):axios.post("/api/user", { name: "張三", age: 20 }, {headers: { "Content-Type": "…

esp32_hid_device 調試遇到的一些問題

nimble to windows10 22h2esp_hid_device 的keyboardReportMap在win10 22h2 csr4.0 下好像識別不了, Windows(和大多數 BIOS/UEFI)只認 6-byte key array 的 HID Keyboard 描述符。如果不是 6 個字節,Windows HID 驅動就會認為這不…

觀察者模式 (Observer Pattern)與幾個C++應用例子

1. 模式定義與核心思想 觀察者模式定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。當這個主題對象的狀態發生變化時,它會自動通知所有觀察者對象,使它們能夠自動更新自己。核心思想: 解耦主題和觀察者。主題…

[系統架構設計師]論文(二十三)

[系統架構設計師]論文(二十三) 一.論軟件系統架構評估 1.架構所關注的質量屬性主要有:性能,可用性,安全性,可修改性 1)性能。性能是指系統的響應能力,即要經過多長時間才能對某個事件…

攻克 Java 分布式難題:并發模型優化與分布式事務處理實戰指南

攻克 Java 分布式難題:并發模型優化與分布式事務處理實戰指南 開場:從“搖搖欲墜”到“穩如磐石”,你的分布式系統進階之路 你是否曾經遇到過這樣的場景?精心打造的電商應用,在大促開啟的瞬間,頁面響應變得…

如何在Ubuntu中刪除或修改已有的IP地址設置?

在 Ubuntu 中為新增加的網卡設置網絡時,需要區分原有網卡和新網卡的配置,確保它們可以獨立工作(可在同一網段或不同網段)。以下是具體步驟,假設你需要為新網卡配置靜態 IP(以 192.168.1.190/24 為例&#x…

Ansible Playbook 概述與實踐案例(下)

#作者:張桐瑞 文章目錄四、條件判斷的實現五、循環的實現六、Jinja模板應用1、Jinja模板2、handlers組件七、角色 role1、角色介紹2、案例: 部署zabbix-agent四、條件判斷的實現 when: 條件 - hosts: appserveruser: roottasks:- name: create userAuser: nameuser…

LeetCode 100 -- Day6

1. 哈希:49、128(1)49 字母異位詞分組 -- 字典from collections import defaultdict class Solution(object):def groupAnagrams(self, strs):"""創建字典{sorted_string:原str}"""resultsdefaultd…

多因素認證(MFA/2FA)實戰指南:如何保護你的賬號

一、MFA/2FA 基礎認知 1. 概念辨析與演進 單因素認證(1FA)的局限性:僅依賴 “知識因素”(如密碼),據 2024 年 Verizon 數據泄露報告,81% 的賬戶入侵源于密碼泄露 —— 要么是用戶使用弱密碼&a…

vue3 字符 居中顯示

在Vue 3中&#xff0c;要實現字符的居中顯示&#xff0c;你可以使用多種方法&#xff0c;具體取決于你是想在HTML元素內居中文本&#xff0c;還是在CSS樣式中實現。下面是一些常見的方法&#xff1a;1. 使用內聯樣式你可以直接在元素上使用style屬性來實現文本的居中。<temp…

《Spring Boot 進階:從零到一打造自定義 @Transactional》 ——支持多數據源、動態傳播行為、可插拔回滾策略

《Spring Boot 進階&#xff1a;從零到一打造自定義 Transactional》 ——支持多數據源、動態傳播行為、可插拔回滾策略版本&#xff1a;Spring Boot 3.2.x JDK 17一、背景與痛點痛點默認 Transactional 限制多數據源只能綁定一個 DataSourceTransactionManager多租戶無法在運…

open3D學習筆記

這里寫自定義目錄標題 核心3D數據結構 1.1 PointCloud(點云) 最近鄰搜索 (KNN/Radius) 與空間索引(KDTree/Octree) 法線估計 (Normal Estimation) 聚類分割 (基于歐氏距離的聚類) 1.2 TriangleMesh (三角形網格) 泊松表面重建 (Poisson Surface Reconstruction) 滾球法 (Ba…

gt_k_char設計模塊

是不是再fiber或者gt設計中經常遇到接收數據沒有對齊&#xff1f;是的。很多協議需要手動對齊設計。這不&#xff0c;它來了。下面是手動對齊代碼設計&#xff0c;本人在很多工程和項目中應用過&#xff0c;現在共享出來&#xff0c;給大家使用。module gt_k_char (input …