흑백 이미지의 getRGB 함수에서 얻은 픽셀을 부호없는 바이트로 변환하려고 시도 했으므로 잘못된 값일 경우 getRGB 함수를 다음과 같이 읽었습니다. 자바 정수 값을 반환합니다, 그래서 내가 할 0에서 255 사이의 값을 음수가 아닌 정수 값을 볼 수 있습니다. 나는 이것을 성공 시키려고 노력했다 :자바에서 픽셀을 int에서 부호없는 바이트로 변환
int width;
int height;
byte extract;
int asign;
int matrix[][];
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
extract =(byte)(xray.getRGB(j, i));
asign = (int)extract;
//asign = asign & 0xff;
asign = asign + 128;
matrix[i][j] = asign;
}
}
xray는 유력한 이미지이다. 이 문제에 대해 도움을 주실 수 있기를 바랍니다. 마스크로 시도한 것을 볼 수 있듯이, 캐스트 후에 값에 128을 추가하려고 시도했습니다.
감사를보십시오, 나는 임 그것으로 작업하는 이미지, 그것은 흑백 이미지의 경우,이 매트릭스를 포함 supossed이 행렬의 모든 값을 가지고있어, 또 다른 질문이 있습니다 0에서 255 사이에 있어야하며, 맞습니까? 내 질문은 여기에, 그것은 내부적으로 컴퓨터가 여전히 4 채널 (알파, 빨강, 녹색, 파랑) 또는 단지 하나의 채널을 볼 수 있다면, 즉, 픽셀은 4 개의 값으로 구성됩니다, 아니면 하나 ??? –
@LaloGalicia * 저장 될 수 있습니다 *. 결국 전체 화면의 픽셀 데이터로 변환해야하지만 RGB가됩니다. 요즘, 무거운 짐을 많이 그래픽 카드와 CPU가 그것에 대해 걱정할 필요가 완료되면 가져옵니다. 따라서 내부적으로 의미하는 바에 달려 있습니다 * : 여러 레이어가 있습니다! –
덕분에 @ chiastic-security, 나는 당신이 내게 말한 것을 시도 할 것이고, 당신이 내 결과를 알리게 할 것이다 : D –