이미지의 픽셀의 1 차원 바이트 배열을 1 차원 정수 배열로 변환하려고합니다. 스레드에서 "주요"java.lang.ClassCastException가를 예외 : 나는이 코드를 컴파일하고 때마다1D 바이트 배열을 1D 정수 배열로 변환
Byte[] pixels = (Byte[]) img.getRaster().getDataElements(0, 0, width, height, null);
int[] array = new int[pixels.length];
for (int k = 0; k < pixels.length; k++);{
array[k] = pixels[k++];
}
, 내가 아래 런타임 예외를 얻고있다 : 나는 아래에 다음 코드를 [B가 캐스팅 될 수 없다 ~ [Ljava.lang.Byte;
사이드 노트 :'img.getRaster()'가 당신 자신의 코드 인 경우 --- Byte의 배열을 반환하지 말고 바이트를 고려하십시오. 당신은 정말로 컴파일러에 대해 조심하고 싶습니다 권투/unboxing 모든 곳; 그러한 것들이 더 큰 데이터 세트에 대한 귀하의 실적에 상당한 영향을 미칠 수 있습니다. – GhostCat
나는 다시 시도했지만 동일한 예외가 발생했습니다 : "main"스레드의 예외 java.lang.ClassCastException : [B를 [Ljava.lang.Byte; –
@ Jägermeister'img.getRaster()'는 커스텀 코드가 아니지만 아마도'BufferedImage # getRaster()'일 것이다. – Thomas