안녕하세요.
현재 드론에서 촬영되는 이미지를 실시간으로 저장하고싶은 사람입니다..
현재까지 짜여진 코드 및 결과는 아래와 같습니다.
ByteBuffer b;
b.put(frame.getByteData(), 0, frame.getDataSize());
bytesToBitmap(b);
imageSave(myImage);
public Bitmap bytesToBitmap(ByteBuffer b){
myImage = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
a = new byte[b.remaining()];
b.get(a);
IntBuffer intBuf = ByteBuffer.wrap(a).order(ByteOrder.BIG_ENDIAN).asIntBuffer();
int[] array = new int[intBuf.remaining()];
intBuf.get(array);
myImage.setPixels(array, 0, 100, 0, 0, 100, 100);
Canvas canvas = new Canvas(myImage);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
canvas.drawBitmap(myImage, 0,0, null);
Rect src = new Rect(0, 0, 100, 100);
Rect dest = new Rect(0, 0, myImage.getWidth(), myImage.getHeight());
paint.setFilterBitmap(true);
canvas.drawBitmap(myImage, src, dest, null);
canvas.save();
return myImage;
}
이렇게했을시, 원하는 이미지는 그냥 평범한 사진을 원하는데 결과는
이렇게 나옵니다..
뭐가 문제인건가요?ㅠㅠㅠ
아니면 현재 위의 방법말고 드론에서 이미지를 얻는 방법이 있나요?
현재는 코드와 같이 Bytebuffer에 저장되는 변수를 bitmap으로 바꾸고 있습니다.