2017-11-20 3 views
0

과제에 대해 java에서 imagej를 사용하여 이미지를 표시해야합니다. 그래서 다음 코드를 사용했습니다 :imagej는 항상 검은 색 이미지를 표시합니다.

FloatProcessor abc=new FloatProcessor(imageSizeX,imageSizeY); 
     for (int i=0;i<imageSizeX;i++){ 
       for(int j=0;j<imageSizeY;j++){ 
       abc.putPixel(i, j, 100); 
       } 
     } 
     ImagePlus im=new ImagePlus("test",abc); 
     im.show(); 

하지만 이미지는 항상 완전히 검은 색입니다. 실수가 무엇인지 말해 줄 수 있니? 값이 0이면 적어도 흰색이어야합니다. (FYI : imageSizeX = imageSizeY = 256)

+0

[FloatProcessor.putPixel()] (https://imagej.nih.gov/ij/developer/api/ij/process/ImageProcessor.html#putPixel-int-int-int-) API를 보면 : _ "float 이미지의 경우, 'value'는 Float.floatToIntBits()를 사용하여 int로 변환 된 float 일 것으로 예상됩니다."_ 예상되는 float 값은 무엇인지 모르겠지만 'Float.floatToIntBits (1.0)' 또는 이와 유사한 – phflack

답변

0

.putPixel은 의 변환을 사용합니다.

픽셀에 직접 액세스하려는 경우 setf(int x, int y, float value)을 사용할 수 있습니다.

또한 배열에 픽셀이 이미있는 경우 생성자를 사용하여 즉시 픽셀 값 FloatProcessor(int width, int height, int[] pixels)을 설정할 수 있습니다.

관련 문제