OpenCV 4.11.0
开源计算机视觉库
|
主题 | |
颜色空间处理 | |
直方图计算 | |
结构分析和形状描述符 | |
霍夫变换 | |
特征检测 | |
类 | |
类 | cv::cuda::CannyEdgeDetector |
Canny边缘检测器的基类。: 更多… | |
类 | cv::cuda::TemplateMatching |
模板匹配的基类。: 更多… | |
枚举 | |
枚举 | cv::cuda::ConnectedComponentsAlgorithmsTypes { cv::cuda::CCL_DEFAULT = -1 , cv::cuda::CCL_BKE = 0 } |
连通分量算法。 更多… | |
#include <opencv2/cudaimgproc.hpp>
连通分量 算法。
枚举器 | |
---|---|
CCL_DEFAULT | 用于8向连通性的BKE [11] 算法。 |
CCL_BKE | 用于8向连通性的BKE [11] 算法。 |
void cv::cuda::bilateralFilter | ( | InputArray | src, |
OutputArray | dst, | ||
int | kernel_size, | ||
float | sigma_color, | ||
float | sigma_spatial, | ||
int | borderMode = BORDER_DEFAULT, | ||
流 & | stream = Stream::Null() ) |
#include <opencv2/cudaimgproc.hpp>
执行传入图像的双边滤波。
src | 源图像。仅支持 (channels != 2 && depth() != CV_8S && depth() != CV_32S && depth() != CV_64F)。 |
dst | 目标图像。 |
kernel_size | 核窗口大小。 |
sigma_color | 滤波器 颜色空间中的sigma值。 |
sigma_spatial | 滤波器 坐标空间中的sigma值。 |
borderMode | 边界类型。详情请见borderInterpolate。目前支持BORDER_REFLECT101、BORDER_REPLICATE、BORDER_CONSTANT、BORDER_REFLECT和BORDER_WRAP。 |
stream | 流 用于异步版本。 |
void cv::cuda::blendLinear | ( | InputArray | img1, |
InputArray | img2, | ||
InputArray | weights1, | ||
InputArray | weights2, | ||
OutputArray | result, | ||
流 & | stream = Stream::Null() ) |
#include <opencv2/cudaimgproc.hpp>
执行两幅图像的线性混合。
img1 | 第一张图像。仅支持CV_8U和CV_32F深度。 |
img2 | 第二张图像。必须与img1具有相同的大小和类型。 |
weights1 | 第一张图像的权重。必须与img1具有相同的大小。仅支持CV_32F类型。 |
weights2 | 第二张图像的权重。必须与img2具有相同的大小。仅支持CV_32F类型。 |
result | 目标图像。 |
stream | 流 用于异步版本。 |
void cv::cuda::connectedComponents | ( | InputArray | image, |
OutputArray | labels, | ||
int | connectivity, | ||
int | ltype, | ||
cv::cuda::ConnectedComponentsAlgorithmsTypes | ccltype ) |
#include <opencv2/cudaimgproc.hpp>
计算二值图像的连通分量标记图像。
该函数以二值图像作为输入,并执行连通分量标记。输出是一张图像,其中每个连通分量都被分配一个唯一的标签(整数值)。ltype指定输出标签图像的类型,根据标签总数或源图像的像素总数进行重要考虑。ccltype指定要使用的连通分量标记算法,目前支持BKE [11],详情请见ConnectedComponentsAlgorithmsTypes。请注意,输出中的标签不需要是连续的。
image | 要标记的8位单通道图像。 |
labels | 目标标记图像。 |
connectivity | 用于标记过程的连通性。支持8表示8连通。 |
ltype | 输出图像标签类型。目前支持CV_32S。 |
ccltype | 连通分量算法类型(见ConnectedComponentsAlgorithmsTypes)。 |
void cv::cuda::connectedComponents | ( | InputArray | image, |
OutputArray | labels, | ||
int | connectivity = 8, | ||
int | ltype = CV_32S ) |
#include <opencv2/cudaimgproc.hpp>
这是一个重载的成员函数,为了方便起见而提供。它与上面的函数唯一的区别在于它接受的参数。
image | 要标记的8位单通道图像。 |
labels | 目标标记图像。 |
connectivity | 用于标记过程的连通性。支持8表示8连通。 |
ltype | 输出图像标签类型。目前支持CV_32S。 |
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_size | Sobel算子的孔径大小。 |
L2gradient | 标志,指示是否应使用更精确的\(L_2\)范数\(=\sqrt{(dI/dx)^2 + (dI/dy)^2}\)来计算图像梯度幅度 (L2gradient=true),或者更快的默认\(L_1\)范数\(=|dI/dx|+|dI/dy|\)就足够了 (L2gradient=false)。 |
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_32F图像,支持以下方法:
void cv::cuda::meanShiftFiltering | ( | InputArray | src, |
OutputArray | dst, | ||
int | sp, | ||
int | sr, | ||
TermCriteria | criteria = TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), | ||
流 & | stream = Stream::Null() ) |
#include <opencv2/cudaimgproc.hpp>
对源图像的每个点执行均值漂移滤波。
src | 源图像。目前仅支持CV_8UC4图像。 |
dst | 包含映射点颜色的目标图像。它与src具有相同的大小和类型。 |
sp | 空间窗口半径。 |
sr | 颜色窗口半径。 |
criteria | 终止条件。见TermCriteria。 |
stream | 流 用于异步版本。 |
它将源图像的每个点映射到另一个点。结果,您获得了每个点的新颜色和新位置。
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::Null() ) |
#include <opencv2/cudaimgproc.hpp>
执行均值漂移过程,并将有关已处理点(其颜色和位置)的信息存储在两幅图像中。
src | 源图像。目前仅支持CV_8UC4图像。 |
dstr | 包含映射点颜色的目标图像。大小和类型与src相同。 |
dstsp | 包含映射点位置的目标图像。大小与src大小相同。类型为CV_16SC2。 |
sp | 空间窗口半径。 |
sr | 颜色窗口半径。 |
criteria | 终止条件。见TermCriteria。 |
stream | 流 用于异步版本。 |
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::Null() ) |
#include <opencv2/cudaimgproc.hpp>
执行源图像的均值漂移分割,并消除小的分割。
src | 源图像。目前仅支持CV_8UC4图像。 |
dst | 与src大小和类型相同的分割图像(主机或GPU内存)。 |
sp | 空间窗口半径。 |
sr | 颜色窗口半径。 |
minsize | 最小段大小。较小的段将被合并。 |
criteria | 终止条件。见TermCriteria。 |
stream | 流 用于异步版本。 |