Hallo zusammen, ich versuche, mit Get Pixels() Pixelwerte im Bereich 0-255 abzurufen.
{r, g, b} = img << Get Pixels("rgb");Dadurch erhalte ich normalisierte Werte (0-1). Wie kann ich die Pixelwerte in 0-255 erhalten?
Danke!
Ich denke, es gibt mehr als eine Möglichkeit, dies zu tun. Aber hier ist eine Referenz und eine JMP-Implementierung:
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");Ich rate hier nur ab, aber vielleicht würde es ausreichen, einfach mit 255 zu multiplizieren?
Dieser Link könnte auch Ideen liefern (und enthält zusätzliche Links) Was bedeuten die von << Get Pixels(); entsprechen?