OpenCV에서 일부 처리를 통과하려는 카메라의 이미지를 캡처하고 있습니다. 오래된 장치에서이 비록 첫 번째 장애물에서 실패 :OpenCV에 카메라 영상을 전달할 때 OutOfMemoryException이 발생했습니다.
04-22 14:23:41.708: I/System.out(7289): Available memory (bytes): 5646168
04-22 14:23:41.718: I/dalvikvm-heap(7289): Forcing collection of SoftReferences for 51121168-byte allocation
04-22 14:23:41.758: E/dalvikvm-heap(7289): Out of memory on a 51121168-byte allocation.
이것에 대해 최대 읽기, 조언 이미지의 작은 버전에서 작동하는 것 같다,하지만 :
public void onPictureTaken(byte[] jpeg, Camera c) {
mImageBitmap = BitmapFactory.decodeByteArray(jpeg, 0, jpeg.length);
org.opencv.android.Utils.bitmapToMat(mImageBitmap, Utils.cameraMat);
...
}
은 생산 장치에 남아있는 사용 가능한 메모리의 양을 고려하여 크기를 조정할 크기를 대략적으로 계산하려면 어떻게해야합니까?
Official dev 웹 사이트에는 비트 맵을 효율적으로 표시하는 방법에 대한 전문적인 교육 장이 있습니다. – Teovald
@Teovald 예,하지만이 비트 맵을 어느 시점에서 표시하지 않습니다. 나는 그것을 화면의 크기에 맞추기를 원치 않는다. OpenCV에 최대 픽셀 수를 전달할 수 있기를 원한다. – fredley