类 SURF_CUDA
- java.lang.Object
-
- org.opencv.xfeatures2d.SURF_CUDA
-
public class SURF_CUDA extends java.lang.Object用于从图像中提取加速稳健特征 (SURF) 的类。: 类 SURF_CUDA 实现了加速稳健特征描述符。有一个快速的多尺度 Hessian 关键点检测器,可以用来找到关键点(这是默认选项)。但也可以为用户指定的关键点计算描述符。仅支持 8 位灰度图像。类 SURF_CUDA 可以将结果存储在 GPU 和 CPU 内存中。它提供了在 CPU 和 GPU 版本之间转换结果的函数(uploadKeypoints、downloadKeypoints、downloadDescriptors)。CPU 结果的格式与 SURF 结果相同。GPU 结果存储在 GpuMat 中。关键点矩阵是 \(\texttt{nFeatures} \times 7\) 矩阵,类型为 CV_32FC1。- keypoints.ptr<float>(X_ROW)[i] 包含第 i 个特征的 x 坐标。
- keypoints.ptr<float>(Y_ROW)[i] 包含第 i 个特征的 y 坐标。
- keypoints.ptr<float>(LAPLACIAN_ROW)[i] 包含第 i 个特征的拉普拉斯算子符号。
- keypoints.ptr<float>(OCTAVE_ROW)[i] 包含第 i 个特征的八度音阶。
- keypoints.ptr<float>(SIZE_ROW)[i] 包含第 i 个特征的大小。
- keypoints.ptr<float>(ANGLE_ROW)[i] 包含第 i 个特征的方向。
- keypoints.ptr<float>(HESSIAN_ROW)[i] 包含第 i 个特征的响应。
- 在 opencv_source_code/samples/gpu/surf_keypoint_matcher.cpp 中可以找到在 GPU 上使用 SURF 关键点匹配器的示例
-
-
字段摘要
字段 修饰符和类型 字段 描述 static intANGLE_ROWstatic intHESSIAN_ROWstatic intLAPLACIAN_ROWprotected longnativeObjstatic intOCTAVE_ROWstatic intROWS_COUNTstatic intSIZE_ROWstatic intX_ROWstatic intY_ROW
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护SURF_CUDA(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 静态 SURF_CUDA__fromPtr__(long addr)静态 SURF_CUDAcreate(double _hessianThreshold)静态 SURF_CUDAcreate(double _hessianThreshold, int _nOctaves)静态 SURF_CUDAcreate(double _hessianThreshold, int _nOctaves, int _nOctaveLayers)静态 SURF_CUDAcreate(double _hessianThreshold, int _nOctaves, int _nOctaveLayers, boolean _extended)静态 SURF_CUDAcreate(double _hessianThreshold, int _nOctaves, int _nOctaveLayers, boolean _extended, float _keypointsRatio)静态 SURF_CUDAcreate(double _hessianThreshold, int _nOctaves, int _nOctaveLayers, boolean _extended, float _keypointsRatio, boolean _upright)intdefaultNorm()intdescriptorSize()protected voidfinalize()booleanget_extended()doubleget_hessianThreshold()floatget_keypointsRatio()intget_nOctaveLayers()intget_nOctaves()booleanget_upright()longgetNativeObjAddr()
-
-
-
字段详细信息
-
nativeObj
protected final long nativeObj
-
X_ROW
public static final int X_ROW
- 参见
- 常量字段值
-
Y_ROW
public static final int Y_ROW
- 参见
- 常量字段值
-
LAPLACIAN_ROW
public static final int LAPLACIAN_ROW
- 参见
- 常量字段值
-
OCTAVE_ROW
public static final int OCTAVE_ROW
- 参见
- 常量字段值
-
SIZE_ROW
public static final int SIZE_ROW
- 参见
- 常量字段值
-
ANGLE_ROW
public static final int ANGLE_ROW
- 参见
- 常量字段值
-
HESSIAN_ROW
public static final int HESSIAN_ROW
- 参见
- 常量字段值
-
ROWS_COUNT
public static final int ROWS_COUNT
- 参见
- 常量字段值
-
-
方法详细信息
-
getNativeObjAddr
public long getNativeObjAddr()
-
__fromPtr__
public static SURF_CUDA __fromPtr__(long addr)
-
create
public static SURF_CUDA create(double _hessianThreshold, int _nOctaves, int _nOctaveLayers, boolean _extended, float _keypointsRatio, boolean _upright)
- 参数
_hessianThreshold- 用于 SURF 的 Hessian 关键点检测器的阈值。_nOctaves- 关键点检测器将使用的金字塔八度音阶的数量。_nOctaveLayers- 每个八度音阶中的八度音阶层数。_extended- 扩展描述符标志(true - 使用扩展的 128 元素描述符;false - 使用 64 元素描述符)。_keypointsRatio- 限制特征的最大数量_upright- 正立或旋转特征标志(true - 不计算特征的方向;false - 计算方向)。- 返回
- 自动生成
-
create
public static SURF_CUDA create(double _hessianThreshold, int _nOctaves, int _nOctaveLayers, boolean _extended, float _keypointsRatio)
- 参数
_hessianThreshold- 用于 SURF 的 Hessian 关键点检测器的阈值。_nOctaves- 关键点检测器将使用的金字塔八度音阶的数量。_nOctaveLayers- 每个八度音阶中的八度音阶层数。_extended- 扩展描述符标志(true - 使用扩展的 128 元素描述符;false - 使用 64 元素描述符)。_keypointsRatio- 限制特征的最大数量 false - 计算方向)。- 返回
- 自动生成
-
create
public static SURF_CUDA create(double _hessianThreshold, int _nOctaves, int _nOctaveLayers, boolean _extended)
- 参数
_hessianThreshold- 用于 SURF 的 Hessian 关键点检测器的阈值。_nOctaves- 关键点检测器将使用的金字塔八度音阶的数量。_nOctaveLayers- 每个八度音阶中的八度音阶层数。_extended- 扩展描述符标志(true - 使用扩展的 128 元素描述符;false - 使用 64 元素描述符)。false - 计算方向)。- 返回
- 自动生成
-
create
public static SURF_CUDA create(double _hessianThreshold, int _nOctaves, int _nOctaveLayers)
- 参数
_hessianThreshold- 用于 SURF 的 Hessian 关键点检测器的阈值。_nOctaves- 关键点检测器将使用的金字塔八度音阶的数量。_nOctaveLayers- 每个八度音阶中的八度音阶层数。64 元素描述符)。false - 计算方向)。- 返回
- 自动生成
-
create
public static SURF_CUDA create(double _hessianThreshold, int _nOctaves)
- 参数
_hessianThreshold- 用于 SURF 的 Hessian 关键点检测器的阈值。_nOctaves- 关键点检测器将使用的金字塔八度音阶的数量。64 元素描述符)。false - 计算方向)。- 返回
- 自动生成
-
create
public static SURF_CUDA create(double _hessianThreshold)
- 参数
_hessianThreshold- 用于 SURF 的 Hessian 关键点检测器的阈值。64 元素描述符)。false - 计算方向)。- 返回
- 自动生成
-
descriptorSize
public int descriptorSize()
-
defaultNorm
public int defaultNorm()
-
get_hessianThreshold
public double get_hessianThreshold()
-
get_nOctaves
public int get_nOctaves()
-
get_nOctaveLayers
public int get_nOctaveLayers()
-
get_extended
public boolean get_extended()
-
get_upright
public boolean get_upright()
-
get_keypointsRatio
public float get_keypointsRatio()
-
finalize
protected void finalize() throws java.lang.Throwable- 重写
finalize在类java.lang.Object中- 抛出
java.lang.Throwable
-
-