middle.y-pt.y; cL=sqrt (pow (cVx, 2) + pow (cVy, 2)); s_tmp=((double) pVx / pL) * ((double) cVx / cL) +
((double) pVy / pL) * ((double) cVy / cL); (s_tmp>=s) {= s_tmp;=k;=j;
}
}
}
/ / <-check all points_vectors.add (new Point (pVx, pVy)); _ordInx_ptInx.add (new Point (best, bestPoint));
};
} else {+ +;
}
}
(exit) {return;} > ord_packs=packs;
(int indx=0; indx <4; indx + +) {
=ord_packs.get (pair_ordInx_ptInx.get (indx). x)
. get (pair_ordInx_ptInx.get (indx). y);
pt_vect=ord_vectors.get (indx); radius_tmp=ord_packs.get (pair_ordInx_ptInx.get (indx). x). size ();=radius_tmp / 2 +1; width=ord_packs.get ( pair_ordInx_ptInx.get (indx). x). size (); iterations=1; clearAllowed=true; (pt!=null) {= new ArrayList > (); content=new ArrayList (); contentwrite=false;
allPixelsAreFull=true; pt_tmp=new Point (pt.x - radius, pt.y - radius); (int i=0; i <= 8 * radius - 1; i + +) {alpha= PI / 2 * (i / (2 * radius)); (isPtInBImg (bimage, pt_tmp.x, pt_tmp.y) && defColour ==
bimage.getRGB (pt_tmp.x, pt_tmp.y)) {. add (pt_tmp);=true;
} if (contentwrite) {= False;. Add (content);=new ArrayList ();=false;
} _tmp=new Point (pt_tmp.x + (int) cos (alpha), pt_tmp.y +
(int) sin (alpha));
} (contentwrite) {(! packs.isEmpty () && (packs.get (0). get (0). x == pt.x - radius | |
packs.get (0). get (0). y == pt.y - radius)) {. addAll (0, packs.get (0));. set (0, content );=false;
} else {. add (content);=false;
}
} (allPixelsAreFull &&! packs.isEmpty ()) {+ +;
}
{+ +; > tmp=getNextPoint_vectorAngelCriterion (packs, pt_vect, 0, pt); (tmp!=null) {(tmp.get (0). size ()> width / (iterations - 1)) {= false; + +; -;
}
{((packs.size () <= 2 / * | | iterations == 2 * /) && clearAllowed) {(int i=- (radius - 1); i < ;=(radius - 1); i + +) {(int j=- (radius - 1); j <= (radius - 1); j + +) {(isPtInBImg (bimage, pt.x + i, pt.y + j )) {. setRGB (pt.x + i, pt.y + j, - 1);
}
}
}
}=true;=width + tmp.get (0). size (); (width!=0) {= (width / iterations) / 2 +1;
} best=(tmp.get (0). size () - 1) / 2; old_pt=pt;=tmp.get (0). get (best);
}
} else {= null;
}
}
}
}=bimage.getScaledInstance (bimage.getWidth (), bimage.getHeight (), BufferedImage.SCALE_DEFAULT);
};
7. Тестування
У даному розділі наведено приклад обробки та оцифровки тестового зображення за допомогою запропонованого алгоритму. Відскановане зображення...