大家好,我正在嘗試使用 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");