OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
正在載入...
正在搜尋...
未找到匹配項

主題

 色彩空間處理
 
 直方圖計算
 
 結構分析與形狀描述符
 
 霍夫變換
 
 特徵檢測
 

詳細說明

類  cv::cuda::CannyEdgeDetector
 Canny 邊緣檢測器的基類。 : 更多...
 
類  cv::cuda::TemplateMatching
 模板匹配的基類。 : 更多...
 

列舉

enum  cv::cuda::ConnectedComponentsAlgorithmsTypes {
  cv::cuda::CCL_DEFAULT = -1 ,
  cv::cuda::CCL_BKE = 0
}
 連通分量演算法。更多...
 

函式

void cv::cuda::bilateralFilter (InputArray src, OutputArray dst, int kernel_size, float sigma_color, float sigma_spatial, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null())
 對傳遞的影像執行雙邊濾波。
 
void cv::cuda::blendLinear (InputArray img1, InputArray img2, InputArray weights1, InputArray weights2, OutputArray result, Stream &stream=Stream::Null())
 對兩張影像執行線性混合。
 
void cv::cuda::connectedComponents (InputArray image, OutputArray labels, int connectivity, int ltype, cv::cuda::ConnectedComponentsAlgorithmsTypes ccltype)
 計算二值影像的連通分量標記影像。
 
void cv::cuda::connectedComponents (InputArray image, OutputArray labels, int connectivity=8, int ltype=CV_32S)
 
Ptr< CannyEdgeDetectorcv::cuda::createCannyEdgeDetector (double low_thresh, double high_thresh, int apperture_size=3, bool L2gradient=false)
 建立 cuda::CannyEdgeDetector 的實現。
 
Ptr< TemplateMatchingcv::cuda::createTemplateMatching (int srcType, int method, Size user_block_size=Size())
 建立 cuda::TemplateMatching 的實現。
 
void cv::cuda::meanShiftFiltering (InputArray src, OutputArray dst, int sp, int sr, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null())
 為源影像的每個點執行均值漂移(mean-shift)濾波。
 
void cv::cuda::meanShiftProc (InputArray src, OutputArray dstr, OutputArray dstsp, int sp, int sr, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null())
 執行均值漂移過程,並在兩個影像中儲存有關處理點的資訊(其顏色和位置)。
 
void cv::cuda::meanShiftSegmentation (InputArray src, OutputArray dst, int sp, int sr, int minsize, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null())
 執行源影像的均值漂移分割並消除小分段。
 

列舉型別文件 (Enumeration Type Documentation)

◆ ConnectedComponentsAlgorithmsTypes

#include <opencv2/cudaimgproc.hpp>

連通分量Algorithm

列舉值 (Enumerator)
CCL_DEFAULT 

BKE [13] 演算法,用於 8 向連通性。

CCL_BKE 

BKE [13] 演算法,用於 8 向連通性。

函式文件 (Function Documentation)

◆ bilateralFilter()

void cv::cuda::bilateralFilter ( InputArray src,
OutputArray dst,
int kernel_size,
float sigma_color,
float sigma_spatial,
int borderMode = BORDER_DEFAULT,
流 (Stream) & stream = Stream::Null() )

#include <opencv2/cudaimgproc.hpp>

對傳遞的影像執行雙邊濾波。

引數
src源影像。僅支援(channels != 2 && depth() != CV_8S && depth() != CV_32S && depth() != CV_64F)。
dst目標影像。
kernel_size核視窗大小。
sigma_colorFilter 顏色空間中的 sigma。
sigma_spatialFilter 座標空間中的 sigma。
borderMode邊框型別。有關詳細資訊,請參見 borderInterpolate。目前支援 BORDER_REFLECT101、BORDER_REPLICATE、BORDER_CONSTANT、BORDER_REFLECT 和 BORDER_WRAP。
Stream 用於非同步版本。
另請參閱
bilateralFilter

◆ blendLinear()

void cv::cuda::blendLinear ( InputArray img1,
InputArray img2,
InputArray weights1,
InputArray weights2,
OutputArray result,
流 (Stream) & stream = Stream::Null() )

#include <opencv2/cudaimgproc.hpp>

對兩張影像執行線性混合。

引數
img1第一張影像。僅支援 CV_8U 和 CV_32F 深度。
img2第二張影像。必須與 img1 具有相同的大小和型別。
weights1第一張影像的權重。必須與 img1 具有相同的大小。僅支援 CV_32F 型別。
weights2第二張影像的權重。必須與 img2 具有相同的大小。僅支援 CV_32F 型別。
result目標影像。
Stream 用於非同步版本。

◆ connectedComponents() [1/2]

void cv::cuda::connectedComponents ( InputArray 影像,
OutputArray labels,
int connectivity,
int ltype,
cv::cuda::ConnectedComponentsAlgorithmsTypes ccltype )

#include <opencv2/cudaimgproc.hpp>

計算二值影像的連通分量標記影像。

該函式接收一個二值影像作為輸入,並執行連通分量標記。輸出是一個影像,其中每個連通分量被賦予一個唯一的標籤(整數值)。ltype 指定輸出標籤影像的型別,這是一個重要考慮因素,取決於標籤的總數或源影像的總畫素數。ccltype 指定要使用的連通分量標記演算法,目前支援 BKE [13],有關詳細資訊,請參見 ConnectedComponentsAlgorithmsTypes。請注意,輸出中的標籤不一定需要是連續的。

引數
影像要標記的 8 位單通道影像。
labels目標標記影像。
connectivity用於標記過程的連通性。支援 8 向連通性。
ltype輸出影像標籤型別。目前支援 CV_32S。
ccltype連通分量演算法型別(參見 ConnectedComponentsAlgorithmsTypes)。
注意
一個演示 CUDA 中連通分量標記的示例程式可以在
opencv_contrib_source_code/modules/cudaimgproc/samples/connected_components.cpp

◆ connectedComponents() [2/2]

void cv::cuda::connectedComponents ( InputArray 影像,
OutputArray labels,
int connectivity = 8,
int ltype = CV_32S )

#include <opencv2/cudaimgproc.hpp>

這是一個過載的成員函式,為方便起見而提供。它與上述函式的區別僅在於所接受的引數不同。

引數
影像要標記的 8 位單通道影像。
labels目標標記影像。
connectivity用於標記過程的連通性。支援 8 向連通性。
ltype輸出影像標籤型別。目前支援 CV_32S。

◆ createCannyEdgeDetector()

Ptr< CannyEdgeDetector > cv::cuda::createCannyEdgeDetector ( double low_thresh,
double high_thresh,
int apperture_size = 3,
bool L2gradient = false )

#include <opencv2/cudaimgproc.hpp>

建立 cuda::CannyEdgeDetector 的實現。

引數
low_thresh滯後過程的第一個閾值。
high_thresh滯後過程的第二個閾值。
apperture_sizeSobel 運算元的孔徑大小。
L2gradient指示是使用更準確的 \(L_2\) 範數 \(=\sqrt{(dI/dx)^2 + (dI/dy)^2}\) 來計算影像梯度幅度( L2gradient=true ),還是使用更快的預設 \(L_1\) 範數 \(=|dI/dx|+|dI/dy|\)( L2gradient=false )。

◆ createTemplateMatching()

Ptr< TemplateMatching > cv::cuda::createTemplateMatching ( int srcType,
int method,
Size user_block_size = Size() )

#include <opencv2/cudaimgproc.hpp>

建立 cuda::TemplateMatching 的實現。

引數
srcType輸入源型別。目前支援 CV_32F 和 CV_8U 深度影像(1..4 通道)。
method指定比較模板與影像的方式。
user_block_size您可以使用 user_block_size 欄位設定特定的塊大小。如果您將其保留為預設值 Size(0,0),則將使用自動估算的塊大小(這已針對速度進行了最佳化)。透過更改 user_block_size,您可以降低記憶體需求,但會犧牲速度。

目前支援 CV_8U 深度影像的以下方法

  • CV_TM_SQDIFF
  • CV_TM_SQDIFF_NORMED
  • CV_TM_CCORR
  • CV_TM_CCORR_NORMED
  • CV_TM_CCOEFF
  • CV_TM_CCOEFF_NORMED

目前支援 CV_32F 影像的以下方法

  • CV_TM_SQDIFF
  • CV_TM_CCORR
另請參閱
matchTemplate

◆ meanShiftFiltering()

void cv::cuda::meanShiftFiltering ( InputArray src,
OutputArray dst,
int sp,
int sr,
TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1),
流 (Stream) & stream = Stream::Null() )

#include <opencv2/cudaimgproc.hpp>

為源影像的每個點執行均值漂移(mean-shift)濾波。

引數
src源影像。目前僅支援 CV_8UC4 影像。
dst包含對映點顏色的目標影像。它與 src 具有相同的大小和型別。
sp空間視窗半徑。
sr顏色視窗半徑。
criteria終止條件。參見 TermCriteria
Stream 用於非同步版本。

它將源影像的每個點對映到另一個點。結果是每個點都有新的顏色和新位置。

◆ meanShiftProc()

void cv::cuda::meanShiftProc ( InputArray src,
OutputArray dstr,
OutputArray dstsp,
int sp,
int sr,
TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1),
流 (Stream) & stream = Stream::Null() )

#include <opencv2/cudaimgproc.hpp>

執行均值漂移過程,並在兩個影像中儲存有關處理點的資訊(其顏色和位置)。

引數
src源影像。目前僅支援 CV_8UC4 影像。
dstr包含對映點顏色的目標影像。大小和型別與 src 相同。
dstsp包含對映點位置的目標影像。大小與 src 相同。型別為 CV_16SC2 。
sp空間視窗半徑。
sr顏色視窗半徑。
criteria終止條件。參見 TermCriteria
Stream 用於非同步版本。
另請參閱
cuda::meanShiftFiltering

◆ meanShiftSegmentation()

void cv::cuda::meanShiftSegmentation ( InputArray src,
OutputArray dst,
int sp,
int sr,
int minsize,
TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1),
流 (Stream) & stream = Stream::Null() )

#include <opencv2/cudaimgproc.hpp>

執行源影像的均值漂移分割並消除小分段。

引數
src源影像。目前僅支援 CV_8UC4 影像。
dst分割後的影像,大小和型別與 src 相同(主機或 GPU 記憶體)。
sp空間視窗半徑。
sr顏色視窗半徑。
minsize最小段大小。較小的段將被合併。
criteria終止條件。參見 TermCriteria
Stream 用於非同步版本。