类 ORB


  • public class ORB
    extends Feature2D
    实现 ORB(*定向 BRIEF*)关键点检测器和描述符提取器的类,参见 CITE: RRKB11。该算法在金字塔中使用 FAST 检测稳定的关键点,利用 FAST 或 Harris 响应选择最强的特征,使用一阶矩找到它们的方向,并使用 BRIEF 计算描述符(其中随机点对(或 k 元组)的坐标根据测量的方向进行旋转)。
    • 构造函数详细信息

      • ORB

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

      • __fromPtr__

        public static ORB __fromPtr__​(long addr)
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K,
                                 int scoreType,
                                 int patchSize,
                                 int fastThreshold)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        edgeThreshold - 这是不检测特征的边界大小。它应大致与 patchSize 参数匹配。
        firstLevel - 放置源图像的金字塔级别。以前的层将填充放大后的源图像。
        WTA_K - 产生定向 BRIEF 描述符每个元素的点数。默认值 2 意味着 BRIEF,其中我们取一个随机点对并比较它们的亮度,从而得到 0/1 响应。其他可能的值是 3 和 4。例如,3 意味着我们取 3 个随机点(当然,这些点坐标是随机的,但它们是从预定义的种子生成的,因此 BRIEF 描述符的每个元素都是从像素矩形确定性地计算的),找到最大亮度的点并输出胜者的索引(0、1 或 2)。这种输出将占用 2 位,因此它需要汉明距离的特殊变体,表示为 NORM_HAMMING2(每 bin 2 位)。当 WTA_K=4 时,我们取 4 个随机点来计算每个 bin(这也将占用 2 位,可能的值为 0、1、2 或 3)。
        scoreType - 默认 HARRIS_SCORE 意味着使用 Harris 算法对特征进行排名(分数写入 KeyPoint::score 并用于保留最佳 nfeatures 特征);FAST_SCORE 是参数的替代值,它产生的关键点稳定性稍差,但计算速度稍快。
        patchSize - 定向 BRIEF 描述符使用的补丁大小。当然,在较小的金字塔层上,特征覆盖的感知图像区域会更大。
        fastThreshold - FAST 阈值
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K,
                                 int scoreType,
                                 int patchSize)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        edgeThreshold - 这是不检测特征的边界大小。它应大致与 patchSize 参数匹配。
        firstLevel - 放置源图像的金字塔级别。以前的层将填充放大后的源图像。
        WTA_K - 产生定向 BRIEF 描述符每个元素的点数。默认值 2 意味着 BRIEF,其中我们取一个随机点对并比较它们的亮度,从而得到 0/1 响应。其他可能的值是 3 和 4。例如,3 意味着我们取 3 个随机点(当然,这些点坐标是随机的,但它们是从预定义的种子生成的,因此 BRIEF 描述符的每个元素都是从像素矩形确定性地计算的),找到最大亮度的点并输出胜者的索引(0、1 或 2)。这种输出将占用 2 位,因此它需要汉明距离的特殊变体,表示为 NORM_HAMMING2(每 bin 2 位)。当 WTA_K=4 时,我们取 4 个随机点来计算每个 bin(这也将占用 2 位,可能的值为 0、1、2 或 3)。
        scoreType - 默认 HARRIS_SCORE 意味着使用 Harris 算法对特征进行排名(分数写入 KeyPoint::score 并用于保留最佳 nfeatures 特征);FAST_SCORE 是参数的替代值,它产生的关键点稳定性稍差,但计算速度稍快。
        patchSize - 定向 BRIEF 描述符使用的补丁大小。当然,在较小的金字塔层上,特征覆盖的感知图像区域会更大。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K,
                                 int scoreType)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        edgeThreshold - 这是不检测特征的边界大小。它应大致与 patchSize 参数匹配。
        firstLevel - 放置源图像的金字塔级别。以前的层将填充放大后的源图像。
        WTA_K - 产生定向 BRIEF 描述符每个元素的点数。默认值 2 意味着 BRIEF,其中我们取一个随机点对并比较它们的亮度,从而得到 0/1 响应。其他可能的值是 3 和 4。例如,3 意味着我们取 3 个随机点(当然,这些点坐标是随机的,但它们是从预定义的种子生成的,因此 BRIEF 描述符的每个元素都是从像素矩形确定性地计算的),找到最大亮度的点并输出胜者的索引(0、1 或 2)。这种输出将占用 2 位,因此它需要汉明距离的特殊变体,表示为 NORM_HAMMING2(每 bin 2 位)。当 WTA_K=4 时,我们取 4 个随机点来计算每个 bin(这也将占用 2 位,可能的值为 0、1、2 或 3)。
        scoreType - 默认 HARRIS_SCORE 意味着使用 Harris 算法对特征进行排名(分数写入 KeyPoint::score 并用于保留最佳 nfeatures 特征);FAST_SCORE 是参数的替代值,它产生的关键点稳定性稍差,但计算速度稍快。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        edgeThreshold - 这是不检测特征的边界大小。它应大致与 patchSize 参数匹配。
        firstLevel - 放置源图像的金字塔级别。以前的层将填充放大后的源图像。
        WTA_K - 产生定向 BRIEF 描述符每个元素的点数。默认值 2 意味着 BRIEF,其中我们取一个随机点对并比较它们的亮度,从而得到 0/1 响应。其他可能的值是 3 和 4。例如,3 意味着我们取 3 个随机点(当然,这些点坐标是随机的,但它们是从预定义的种子生成的,因此 BRIEF 描述符的每个元素都是从像素矩形确定性地计算的),找到最大亮度的点并输出胜者的索引(0、1 或 2)。这种输出将占用 2 位,因此它需要汉明距离的特殊变体,表示为 NORM_HAMMING2(每 bin 2 位)。当 WTA_K=4 时,我们取 4 个随机点来计算每个 bin(这也将占用 2 位,可能的值为 0、1、2 或 3)。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        edgeThreshold - 这是不检测特征的边界大小。它应大致与 patchSize 参数匹配。
        firstLevel - 放置源图像的金字塔级别。以前的层将填充放大后的源图像。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        edgeThreshold - 这是不检测特征的边界大小。它应大致与 patchSize 参数匹配。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        nlevels - 金字塔级别数。最小级别将具有等于 input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) 的线性大小。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        scaleFactor - 金字塔抽取比,大于 1。scaleFactor==2 意味着经典金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        返回
        自动生成
      • create

        public static ORB create​(int nfeatures)
        ORB 构造函数
        参数
        nfeatures - 要保留的最大特征数。
        返回
        自动生成
      • create

        public static ORB create()
        ORB 构造函数金字塔,其中每个后续级别比前一个级别减少 4 倍像素,但如此大的比例因子会显著降低特征匹配分数。另一方面,过于接近 1 的比例因子意味着要覆盖某个尺度范围,您将需要更多的金字塔级别,因此速度会受到影响。
        返回
        自动生成
      • setMaxFeatures

        public void setMaxFeatures​(int maxFeatures)
      • getMaxFeatures

        public int getMaxFeatures()
      • setScaleFactor

        public void setScaleFactor​(double scaleFactor)
      • getScaleFactor

        public double getScaleFactor()
      • setNLevels

        public void setNLevels​(int nlevels)
      • getNLevels

        public int getNLevels()
      • setEdgeThreshold

        public void setEdgeThreshold​(int edgeThreshold)
      • getEdgeThreshold

        public int getEdgeThreshold()
      • setFirstLevel

        public void setFirstLevel​(int firstLevel)
      • getFirstLevel

        public int getFirstLevel()
      • setWTA_K

        public void setWTA_K​(int wta_k)
      • getWTA_K

        public int getWTA_K()
      • setScoreType

        public void setScoreType​(int scoreType)
      • getScoreType

        public int getScoreType()
      • setPatchSize

        public void setPatchSize​(int patchSize)
      • getPatchSize

        public int getPatchSize()
      • setFastThreshold

        public void setFastThreshold​(int fastThreshold)
      • getFastThreshold

        public int getFastThreshold()
      • getDefaultName

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

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