안녕하세요, 저는 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");