SIFT 类


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

      • SIFT

        protected SIFT​(long addr)
    • 方法详情

      • __fromPtr__

        public static SIFT __fromPtr__​(long addr)
      • 创建

        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 个八度输入图像的高斯函数的 sigma 值。如果您的图像由具有柔和镜头的弱相机拍摄,您可能需要减少此数值。
        enable_precise_upscale - 是否启用尺度金字塔中的精确上采样,它将索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。默认情况下禁用此选项。
        返回值
        自动生成
      • 创建

        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 个八度输入图像的高斯函数的 sigma 值。如果您的图像由具有柔和镜头的弱相机拍摄,您可能需要减少此数值。索引 \(\texttt{x}\) 映射到 \(\texttt{2x}\)。这可以防止定位偏差。默认情况下禁用此选项。
        返回值
        自动生成
      • 创建

        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}\)。这可以防止定位偏差。默认情况下禁用此选项。
        返回值
        自动生成
      • 创建

        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}\)。这可以防止定位偏差。默认情况下禁用此选项。
        返回值
        自动生成
      • 创建

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers)
        参数
        nfeatures - 要保留的最佳特征数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排序
        nOctaveLayers - 每组金字塔层数。D. Lowe论文中使用值为3。组数根据图像分辨率自动计算。(低对比度)区域。阈值越大,检测器产生的特征越少。**注意:**应用滤波时,对比度阈值将除以nOctaveLayers。当nOctaveLayers设置为默认值,并且想要使用D. Lowe论文中使用的值0.03时,请将此参数设置为0.09。与contrastThreshold不同,即edgeThreshold越大,过滤掉的特征越少(保留的特征越多)。如果使用弱相机和柔焦镜头拍摄图像,您可能需要减少此数值。索引。这可以防止定位偏差。此选项默认禁用。
        返回值
        自动生成
      • 创建

        public static SIFT create​(int nfeatures)
        参数
        nfeatures - 要保留的最佳特征数量。特征按其分数(在SIFT算法中测量为局部对比度)进行排序。组数根据图像分辨率自动计算。(低对比度)区域。阈值越大,检测器产生的特征越少。**注意:**应用滤波时,对比度阈值将除以nOctaveLayers。当nOctaveLayers设置为默认值,并且想要使用D. Lowe论文中使用的值0.03时,请将此参数设置为0.09。与contrastThreshold不同,即edgeThreshold越大,过滤掉的特征越少(保留的特征越多)。如果使用弱相机和柔焦镜头拍摄图像,您可能需要减少此数值。索引。这可以防止定位偏差。此选项默认禁用。
        返回值
        自动生成
      • 创建

        public static SIFT create()
        (在SIFT算法中测量为局部对比度)组数根据图像分辨率自动计算。(低对比度)区域。阈值越大,检测器产生的特征越少。**注意:**应用滤波时,对比度阈值将除以nOctaveLayers。当nOctaveLayers设置为默认值,并且想要使用D. Lowe论文中使用的值0.03时,请将此参数设置为0.09。与contrastThreshold不同,即edgeThreshold越大,过滤掉的特征越少(保留的特征越多)。如果使用弱相机和柔焦镜头拍摄图像,您可能需要减少此数值。索引。这可以防止定位偏差。此选项默认禁用。
        返回值
        自动生成
      • 创建

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

        public static SIFT create​(int nfeatures,
                                  int nOctaveLayers,
                                  double contrastThreshold,
                                  double edgeThreshold,
                                  double sigma,
                                  int descriptorType)
        使用指定的 descriptorType 创建 SIFT。
        参数
        nfeatures - 要保留的最佳特征数量。特征按其分数(在 SIFT 算法中测量为局部对比度)进行排序
        nOctaveLayers - 每个八度中的层数。3 是 D. Lowe 论文中使用的值。八度数根据图像分辨率自动计算。
        contrastThreshold - 用于过滤掉半均匀(低对比度)区域中弱特征的对比度阈值。阈值越大,检测器产生的特征越少。注意: 应用过滤时,对比度阈值将除以 nOctaveLayers。当 nOctaveLayers 设置为默认值,并且如果要使用 D. Lowe 论文中使用的值 0.03 时,请将此参数设置为 0.09。
        edgeThreshold - 用于过滤掉边缘状特征的阈值。请注意,其含义与 contrastThreshold 不同,即 edgeThreshold 越大,过滤掉的特征越少(保留的特征越多)。
        sigma - 应用于第 0 个八度输入图像的高斯函数的 sigma 值。如果您的图像由具有柔和镜头的弱相机拍摄,您可能需要减少此数值。
        descriptorType - 描述符的类型。仅支持CV_32F和CV_8U。索引。这可以防止定位偏差。此选项默认禁用。
        返回值
        自动生成
      • 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