La méthode pour utiliser l'algo est :
BufferedImage output = new Inpaint().inpaint(input, mask, radius);
Les paramètres sont les suivants:
BufferedImage input : l'image d'entrée au format RGB. Si votre image n'est pas dans se format (niveau de gris, palette), il faut absolument la convertir en RGB. Si votre image possède des informations de transparence (canal alpha), elle seront ignorées.
boolean[][] mask : tableau de booléen de la taille de l'image d'entrée. Si mask[x][y] = true, alors on considère que le pixel (x,y) est masqué et qu'il devra être estimé par l'algo d'inpainting
int radius : rayon utilisé pour l'extraction des patchs. Il est conseillé de prendre la valeur "2", ce qui donne des patchs de 5x5.
En sortie on récupère une BufferedImage au format RGB dans laquelle les pixels masqués ont été remplacés.

Envoyé par
highlight
Bonsoir pseudocode, je te remercie pour ton initiative, j ai essayé de comprendre ton algo, j'ai en fait une ptite question, sur la fonction getsample et setsample qu 'est ce qu elle fait au juste? ce quoi le role de ces fonction?
Comme on peut le voir dans le code, c'est juste une délégation des méthodes de WritableRaster.
1 2 3 4 5 6 7
| public int getSample(int x, int y, int band) {
return image.getRaster().getSample(x, y, band);
}
public void setSample(int x, int y, int band, int value) {
image.getRaster().setSample(x, y, band, value);
} |
Partager