Examples of SeamList


Examples of ar.rules.SeamCarving.AbstractCarver.SeamList

        headList.remove(0);
        if (headList.size()==0) {seamOrder.remove(seamOrder.firstKey());}
        seamPoints[i] = compileVSeam(targetSeam, matchings);         
      }
           
      return new SeamList(seamPoints, selectedSeamEnergies);
  }
View Full Code Here

Examples of ar.rules.SeamCarving.AbstractCarver.SeamList

     */
    public CarveSweep(Delta<A> delta, Direction dir, A empty, int seams)  {super(delta, dir, empty, seams);}
   
    @Override
    public SeamList verticalSeamList(Aggregates<? extends A> aggregates, Renderer rend) {
      if (seams == 0) {return new SeamList(new int[0][0],new double[0]);}
     
      Aggregates<Double> pixelEnergy = rend.transfer(aggregates, new Energy<>(delta));
      EdgeWeights weights = new EdgeWeights(pixelEnergy);

      //Matchings encode the offset to get to the matched node in the next level down.  Will always be -1/0/1
View Full Code Here

Examples of ar.rules.SeamCarving.AbstractCarver.SeamList

      super(delta, dir, empty, seams);
    }
   
    @Override
    public SeamList verticalSeamList(Aggregates<? extends A> aggregates, Renderer rend) {
      if (seams == 0) {return new SeamList(new int[0][0],new double[0]);}
     
      Aggregates<Double> globalEnergy = rend.transfer(
          aggregates,
          new Seq.Specialized<>(new Energy<>(delta), new CumulativeEnergy()));
     
View Full Code Here

Examples of ar.rules.SeamCarving.AbstractCarver.SeamList

      super(delta, dir, empty, seams);
    }
       
    @Override
    public SeamList verticalSeamList(Aggregates<? extends A> aggregates, Renderer rend) {
      if (seams == 0) {return new SeamList(new int[0][0],new double[0]);}
   
      Aggregates<Double> pixelEnergy = rend.transfer(aggregates, new Energy<>(delta));
      Aggregates<Double> globalEnergy = rend.transfer(pixelEnergy, new CumulativeEnergy());
     
      Aggregates<Double> cumEng = AggregateUtils.make(globalEnergy, Double.NEGATIVE_INFINITY);

      EdgeWeights weights = new EdgeWeights(globalEnergy, cumEng);
 
      Aggregates<Integer> matchings = nSeamsMatchings(seams, weights, cumEng, globalEnergy);
     
      return new SeamList(compileSeamList(matchings, seams), seamEnergies(cumEng, cumEng.highY()-1));
    }
View Full Code Here

Examples of ar.rules.SeamCarving.AbstractCarver.SeamList

    @Override public ar.Transfer.Specialized<A, Color> specialize(Aggregates<? extends A> aggregates) {return this;}

    @Override
    public Aggregates<Color> process(Aggregates<? extends A> aggregates, Renderer rend) {
      if (carver.dir == Direction.H) {
        SeamList seamList = carver.verticalSeamList(TransposeWrapper.transpose(aggregates), rend);
        return TransposeWrapper.transpose(colorSeams(aggregates, seamList));     
      } else {
        SeamList seamList = carver.verticalSeamList(aggregates, rend);
        return colorSeams(aggregates, seamList);
      }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.