コード例 #1
0
 private void aspectTemplate() {
   Gray8Image template = (Gray8Image) (bestfit.getTemplate().createCopy());
   double maxsim = 1.0 - templateXOR(img, bestfit.getX(), bestfit.getY(), template, false);
   // System.out.println("maxsim = " + maxsim + ":" + bestfit.getSim());
   double oldaspectscale = bestfit.getAspectScale();
   for (double aspectscale = oldaspectscale - 0.05;
       aspectscale <= oldaspectscale + 0.05;
       aspectscale += 0.0025) {
     fillTemplate(
         template, bestfit.getApproxCircleOuterX(), bestfit.getApproxCircleInnerX(), aspectscale);
     double currsim = 1.0 - templateXOR(img, bestfit.getX(), bestfit.getY(), template, false);
     if (currsim > maxsim) {
       // System.out.println("--aspectscale = " + aspectscale
       // + ":" + currsim);
       bestfit.setTemplate(template);
       bestfit.setAspectScale(aspectscale);
       bestfit.setSim(currsim);
       template = (Gray8Image) (bestfit.getTemplate().createCopy());
       maxsim = currsim;
     }
   }
 }