SIFT 类
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.features2d.Feature2D
-
- org.opencv.features2d.SIFT
-
public class SIFT extends Feature2D
用于使用 D. Lowe 提出的尺度不变特征变换 (SIFT) 算法 CITE: Lowe04 提取关键点和计算描述符的类。
-
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
SIFT(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static SIFT
__fromPtr__(long addr)
static SIFT
创建()
(在 SIFT 算法中测量为局部对比度) 八度数根据图像分辨率自动计算。static SIFT
create(int nfeatures)
static SIFT
create(int nfeatures, int nOctaveLayers)
static SIFT
create(int nfeatures, int nOctaveLayers, double contrastThreshold)
static SIFT
create(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold)
static SIFT
create(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma)
static SIFT
create(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, boolean enable_precise_upscale)
static SIFT
create(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, int descriptorType)
使用指定的 descriptorType 创建 SIFT。static SIFT
create(int nfeatures, int nOctaveLayers, double contrastThreshold, double edgeThreshold, double sigma, int descriptorType, boolean enable_precise_upscale)
使用指定的 descriptorType 创建 SIFT。protected void
finalize()
double
getContrastThreshold()
java.lang.String
getDefaultName()
返回算法字符串标识符。double
getEdgeThreshold()
int
getNFeatures()
int
getNOctaveLayers()
double
getSigma()
void
setContrastThreshold(double contrastThreshold)
void
setEdgeThreshold(double edgeThreshold)
void
setNFeatures(int maxFeatures)
void
setNOctaveLayers(int nOctaveLayers)
void
setSigma(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)
-
创建
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()
-
-