예제 #1
0
  @Override
  public <P extends Point, F extends AbstractPointDescriptor<P, F>>
      ArrayList<ArrayList<PointMatch>> createCandidates(
          final AbstractPointDescriptor<P, F> pd1, final AbstractPointDescriptor<P, F> pd2) {
    final ArrayList<PointMatch> matches = new ArrayList<PointMatch>(numNeighbors);

    for (int i = 0; i < numNeighbors; ++i) {
      final PointMatch pointMatch =
          new PointMatch(pd1.getDescriptorPoint(i), pd2.getDescriptorPoint(i));
      matches.add(pointMatch);
    }

    final ArrayList<ArrayList<PointMatch>> matchesList = new ArrayList<ArrayList<PointMatch>>();
    matchesList.add(matches);

    return matchesList;
  }
예제 #2
0
  @Override
  public <P extends Point, F extends AbstractPointDescriptor<P, F>>
      ArrayList<ArrayList<PointMatch>> createCandidates(
          final AbstractPointDescriptor<P, F> pd1, final AbstractPointDescriptor<P, F> pd2) {
    final ArrayList<ArrayList<PointMatch>> matchesList = new ArrayList<ArrayList<PointMatch>>();

    for (int a = 0; a < numCombinations; ++a)
      for (int b = 0; b < numCombinations; ++b) {
        final ArrayList<PointMatch> matches = new ArrayList<PointMatch>(subsetSize);

        for (int i = 0; i < subsetSize; ++i) {
          final PointMatch pointMatch =
              new PointMatch(
                  pd1.getDescriptorPoint(neighbors[a][i]), pd2.getDescriptorPoint(neighbors[b][i]));
          matches.add(pointMatch);
        }

        matchesList.add(matches);
      }

    return matchesList;
  }