Salut à tous, j'essaie d'obtenir des valeurs de pixels de 0 à 255 à l'aide de Get Pixels().
{r, g, b} = img << Get Pixels("rgb");Cela me donne des valeurs normalisées (0-1). Comment puis-je obtenir les valeurs de pixels entre 0 et 255 ?
Merci!
Je devine ici, mais peut-être qu'il suffirait de multiplier par 255 ?
Ce lien pourrait aussi donner des idées (et a des liens supplémentaires) A quoi servent les nombres renvoyés par << Get Pixels(); correspondre à?
Je pense qu'il y a plus d'une façon de le faire. Mais voici une référence et une implémentation JMP :
Names Default To Here( 1 );
Web("https://web.stanford.edu/class/cs101/image-6-grayscale.html", JMP Window);
img = Open( "$SAMPLE_IMAGES/tile.jpg", jpg );
win = New Window( "tile(40,40)", img );
{r, g, b} = img << Get Pixels( "rgb" );
// Average the rgb values of each pixel and scale from [0, 1] to [0, 255]
nr = NRow(r);
nc = NCol(r);
r2 = Shape(r, 1, nr*nc);
g2 = Shape(g, 1, nr*nc);
b2 = Shape(b, 1, nr*nc);
g2 = VMean(VConcat(r2, g2, b2));
g = Shape(g2, nr, nc);
g = Round(g*255, 0);
dt = AsTable(g);
dt << setName("Greyscale");