类 SIFT


  • public class SIFT
    extends Feature2D
    该类用于使用 D. Lowe CITE: Lowe04 的尺度不变特征变换 (SIFT) 算法提取关键点和计算描述符。
    • 构造函数详细信息

      • SIFT

        protected SIFT​(long addr)
    • 方法详细信息

      • __fromPtr__

        public static SIFT __fromPtr__​(long addr)
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold,
                                  double edgeThreshold,
                                  double sigma,
                                  boolean enable_precise_upscale)
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。
        contrastThreshold - 用于过滤半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。
        edgeThreshold - 用于过滤掉类边缘特征的阈值。请注意,它的含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。
        sigma - 应用于八度层 #0 输入图像的高斯 σ 值。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。
        enable_precise_upscale - 是否在尺度金字塔中启用精确放大,将索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold,
                                  double edgeThreshold,
                                  double sigma)
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。
        contrastThreshold - 用于过滤半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。
        edgeThreshold - 用于过滤掉类边缘特征的阈值。请注意,它的含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。
        sigma - 应用于八度层 #0 输入图像的高斯 σ 值。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold,
                                  double edgeThreshold)
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。
        contrastThreshold - 用于过滤半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。
        edgeThreshold - 用于过滤掉类边缘特征的阈值。请注意,它的含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold)
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。
        contrastThreshold - 用于过滤半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。其含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers)
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。(低对比度)区域。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。其含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures)
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)排名。八度层的数量会根据图像分辨率自动计算。(低对比度)区域。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。其含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create()
        (在 SIFT 算法中测量为局部对比度)八度层的数量会根据图像分辨率自动计算。(低对比度)区域。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。其含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold,
                                  double edgeThreshold,
                                  double sigma,
                                  int descriptorType,
                                  boolean enable_precise_upscale)
        使用指定的描述符类型创建 SIFT。
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。
        contrastThreshold - 用于过滤半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。
        edgeThreshold - 用于过滤掉类边缘特征的阈值。请注意,它的含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。
        sigma - 应用于八度层 #0 输入图像的高斯 σ 值。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。
        descriptorType - 描述符的类型。只支持 CV_32F 和 CV_8U。
        enable_precise_upscale - 是否在尺度金字塔中启用精确放大,将索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • create

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold,
                                  double edgeThreshold,
                                  double sigma,
                                  int descriptorType)
        使用指定的描述符类型创建 SIFT。
        参数
        nfeatures - 要保留的最佳特征的数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排名。
        nOctaveLayers - 每个八度层的层数。3 是 D. Lowe 论文中使用的值。八度层的数量会根据图像分辨率自动计算。
        contrastThreshold - 用于过滤半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器生成的特征越少。注意:当应用过滤时,对比度阈值将被 nOctaveLayers 整除。当 nOctaveLayers 设置为默认值,并且您想使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。
        edgeThreshold - 用于过滤掉类边缘特征的阈值。请注意,它的含义与 contrastThreshold 不同,即 edgeThreshold 越大,被过滤掉的特征越少(保留的特征越多)。
        sigma - 应用于八度层 #0 输入图像的高斯 σ 值。如果您的图像是用弱相机和软镜头捕获的,您可能需要减小此值。
        descriptorType - 描述符的类型。只支持 CV_32F 和 CV_8U。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。此选项默认禁用。
        返回
        自动生成
      • getDefaultName

        public java.lang.String getDefaultName()
        描述来自类复制: Algorithm
        返回算法字符串标识符。当对象保存到文件或字符串时,此字符串用作顶级 xml/yml 节点标签。
        重写
        getDefaultName 在类 Feature2D
        返回
        自动生成
      • setNFeatures

        public void setNFeatures​(int maxFeatures)
      • getNFeatures

        public int getNFeatures()
      • setNOctaveLayers

        public void setNOctaveLayers​(int nOctaveLayers)
      • getNOctaveLayers

        public int getNOctaveLayers()
      • setContrastThreshold

        public void setContrastThreshold​(double contrastThreshold)
      • getContrastThreshold

        public double getContrastThreshold()
      • setEdgeThreshold

        public void setEdgeThreshold​(double edgeThreshold)
      • getEdgeThreshold

        public double getEdgeThreshold()
      • setSigma

        public void setSigma​(double sigma)
      • getSigma

        public double getSigma()
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        重写
        finalize 在类 Feature2D
        抛出
        java.lang.Throwable