大家好,我正在尝试使用 Get Pixels() 获取 0-255 之间的像素值。
{r, g, b} = img << Get Pixels("rgb");这给了我标准化的值(0-1)。 如何获得 0-255 的像素值?
谢谢!
只是在这里猜测,但也许乘以 255 就足够了?
此链接也可以提供想法(并有其他链接) << Get Pixels(); 返回的数字是什么?相当于?
我认为有不止一种方法可以做到这一点。 但这里有一个参考和一个 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");