OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
图形 API:图像特征检测

详细描述

函数

GMat cv::gapi::Canny (const GMat &image, double threshold1, double threshold2, int apertureSize=3, bool L2gradient=false)
 使用Canny算法在图像中查找边缘。
 
GArray< Point2fcv::gapi::goodFeaturesToTrack (const GMat &image, int maxCorners, double qualityLevel, double minDistance, const Mat &mask=Mat(), int blockSize=3, bool useHarrisDetector=false, double k=0.04)
 检测图像中的强角点。
 

函数文档

◆ Canny()

GMat cv::gapi::Canny ( const GMat & image,
double threshold1,
double threshold2,
int apertureSize = 3,
bool L2gradient = false )
Python
cv.gapi.Canny(image, threshold1, threshold2[, apertureSize[, L2gradient]]) -> retval

#include <opencv2/gapi/imgproc.hpp>

使用Canny算法在图像中查找边缘。

该函数使用 Canny 算法在输入图像中查找边缘,并在输出图 edges 中标记它们。threshold1 和 threshold2 之间的最小值用于边缘链接。最大值用于查找强边缘的初始段。参见 http://en.wikipedia.org/wiki/Canny_edge_detector

注意
函数文本 ID 是 "org.opencv.imgproc.feature.canny"
参数
image8 位输入图像。
threshold1用于滞后过程的第一个阈值。
threshold2滞后程序的第二个阈值。
apertureSizeSobel 算子的孔径大小。
L2gradient一个标志,指示是否应该使用更精确的 \(L_2\) 范数 \(=\sqrt{(dI/dx)^2 + (dI/dy)^2}\) 来计算图像梯度幅度 ( L2gradient=true ),或者是否默认的 \(L_1\) 范数 \(=|dI/dx|+|dI/dy|\) 足够 ( L2gradient=false )。

◆ goodFeaturesToTrack()

GArray< Point2f > cv::gapi::goodFeaturesToTrack ( const GMat & image,
int maxCorners,
double qualityLevel,
double minDistance,
const Mat & mask = Mat(),
int blockSize = 3,
bool useHarrisDetector = false,
double k = 0.04 )
Python
cv.gapi.goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance[, mask[, blockSize[, useHarrisDetector[, k]]]]) -> retval

#include <opencv2/gapi/imgproc.hpp>

检测图像中的强角点。

该函数在图像中或在指定的图像区域中查找最突出的角点,如 [248] 中所述

  • 函数使用 cornerMinEigenValcornerHarris 计算每个源图像像素处的角点质量度量。
  • 函数执行非极大值抑制(保留 3 x 3 邻域中的局部最大值)。
  • 最小特征值小于 \(\texttt{qualityLevel} \cdot \max_{x,y} qualityMeasureMap(x,y)\) 的角点将被拒绝。
  • 剩余的角点按质量度量降序排列。
  • 函数会丢弃每个角点,如果在小于 maxDistance 的距离处存在更强的角点。

该函数可用于初始化对象的基于点的跟踪器。

注意
  • 如果使用参数 qualityLevel 的不同值 A 和 B 调用该函数,并且 A > B,则 qualityLevel=A 返回的角点向量将是 qualityLevel=B 的输出向量的前缀。
  • 函数文本 ID 是 "org.opencv.imgproc.feature.goodFeaturesToTrack"
参数
image输入8位或32位浮点型单通道图像。
maxCorners要返回的最大角点数。如果找到的角点多于此数,则返回其中最强的角点。maxCorners <= 0 意味着未设置最大值的限制,并且返回所有检测到的角点。
qualityLevel表征图像角点的最小可接受质量的参数。参数值乘以最佳角点质量度量,即最小特征值(参见 cornerMinEigenVal )或 Harris 函数响应(参见 cornerHarris )。质量度量小于乘积的角点将被拒绝。例如,如果最佳角点的质量度量 = 1500,并且 qualityLevel=0.01,则所有质量度量小于 15 的角点将被拒绝。
minDistance返回的角点之间的最小可能欧几里得距离。
mask可选的感兴趣区域。如果图像不为空(它需要具有 CV_8UC1 类型并且大小与图像相同),它会指定在其中检测角点的区域。
blockSize用于计算每个像素邻域上的导数协方差矩阵的平均块大小。参见 cornerEigenValsAndVecs 。
useHarrisDetector指示是否使用 Harris 检测器(参见 cornerHarris)或 cornerMinEigenVal 的参数。
kHarris 检测器的自由参数。
返回
检测到的角点的向量。