类 SIFT
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.features2d.Feature2D
-
- org.opencv.features2d.SIFT
-
public class SIFT extends Feature2D
该类用于使用 D. Lowe CITE: Lowe04 的尺度不变特征变换 (SIFT) 算法提取关键点和计算描述符。
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护SIFT(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static SIFT__fromPtr__(long addr)static SIFTcreate()(在 SIFT 算法中测量为局部对比度)八度层的数量会根据图像分辨率自动计算。static SIFTcreate(int nfeatures)static SIFTcreate(int nfeatures, int nOctaveLayers)static SIFTcreate(int nfeatures, int nOctaveLayers, double contrastThreshold)static SIFTcreate(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold)static SIFTcreate(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma)static SIFTcreate(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, boolean enable_precise_upscale)static SIFTcreate(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, int descriptorType)使用指定的描述符类型创建 SIFT。static SIFTcreate(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, int descriptorType, boolean enable_precise_upscale)使用指定的描述符类型创建 SIFT。protected voidfinalize()doublegetContrastThreshold()java.lang.StringgetDefaultName()返回算法字符串标识符。doublegetEdgeThreshold()intgetNFeatures()intgetNOctaveLayers()doublegetSigma()voidsetContrastThreshold(double contrastThreshold)voidsetEdgeThreshold(double edgeThreshold)voidsetNFeatures(int maxFeatures)voidsetNOctaveLayers(int nOctaveLayers)voidsetSigma(double sigma)-
从类 org.opencv.features2d.Feature2D 继承的方法
compute, compute, defaultNorm, descriptorSize, descriptorType, detect, detect, detect, detect, detectAndCompute, detectAndCompute, empty, read, write
-
从类 org.opencv.core.Algorithm 继承的方法
clear, getNativeObjAddr, save
-
-
-
-
方法详细信息
-
__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()
-
-