1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| out.resize(largeur - (rightpadding + leftpadding), hauteur - (toppadding+bottompadding));
for(int canal=0; canal< in.getNumComponents(); canal++)
for(int j = toppadding; j< hauteur - bottompadding; j++)
{
for(int i = leftpadding; i< largeur - rightpadding; i++)
{
out.setPixel(i - leftpadding, j - toppadding,
canal, localAreaOp.computeLocalArea(in, i,j, canal));
}
}
//algo général pour pas changer la taille
void AreaOperator::compute(Image& out, const Image& in, const BorderExtender& extender)
{
Image tempo(in.getNumComponents());
/*on étend le bord de l'image pour lui appliquer ensuite l'opération*/
extender.extend(tempo, in, getTopPadding(),
getLeftPadding(),
getRightPadding(),
getBottomPadding());
compute(out, tempo);
} |
Partager