*setPreviewCallback
-적용
OnPreviewFrame data image to imageView
i'm trying to get the byte[] from the preview of the camera, convert it to bitmap and display it on a imageview with imageView.setImageBitmap() i've managed to start the preview and display it on a
stackoverflow.com
[안드로이드] 실시간 SurfaceView 화면 캡쳐하기
어플리케이션 제작 중에 SurfaceView에 CameraPreview를 이용하여 카메라를 제어하는 프로그래밍 중실시간으로 SurfaceView를 캡쳐해야하는 코드가 필요해 처리하는 과정 등을 정리하여 포스팅합니다.Surf
yeolco.tistory.com
-적용 간단한 코드(+사진저장)
surfaceview 실시간 사진 저장
public void onPreviewFrame(byte[] data, Camera camera){ Log.d("PreviewCallback",data.length +"" ); try { Camera.Parameters parameters = camera.getParameters(); Size size = parameters.getPreviewSize(); YuvImage image = new YuvImage(data, parameters.getPrevi
sangil.tistory.com
***사진저장(png) 참고(적용)
https://crazykim2.tistory.com/445
[Android Studio] Bitmap을 File로 변환하기
안녕하세요 프로젝트를 하면서 카메라로 찍은 데이터를 Bitmap으로 변환한 후 File로 변경해서 서버로 전송하는 프로젝트를 진행했습니다 약간 어려웠던 부분이 있어서 정리해봤습니다 Bitmap에서
crazykim2.tistory.com
*사진저장 참고
안드로이드 - onPreviewFrame 를 사용하여 이미지를 바로 뿌려주는 어플 개발중인데 GC호출이 너무 심
onPreviewFrame 에 들어오는 모든 프레임이 필요하지않다면 타이머등을 써서 몇개씩 건너뛰도록 해보면 버벅거리는 현상이 없어지더군요.. 또한 기기마다 성능의 차이가 있어서 성능이 떨어지는 기
www.masterqna.com
-설명...
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wjdtjdgus956&logNo=120132685332
PreviewCallBack byte[] -> bitmap 변환
카메라에서 영상을 받아와 화면에 표시하고, 영상에대해 영상처리(마커인식)을 하기 위해 작업하고있습니다...
blog.naver.com
threadCamera.setPreviewCallback(new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] bytes, Camera camera) {
camera.addCallbackBuffer(bytes);
//jpeg포맷 변경
int width = parameters.getPreviewSize().width;
int height = parameters.getPreviewSize().height;
YuvImage yuvImage = new YuvImage(bytes, parameters.getPreviewFormat(), width, height, null);
ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
yuvImage.compressToJpeg(new Rect(0, 0, width, height), 100, byteOutputStream);
Log.i("LOG/D", "getPreviewSize() : " + width + "x" + height );
byte[] currentBytes = byteOutputStream.toByteArray();
Bitmap bitmap = BitmapFactory.decodeByteArray(currentBytes, 0, currentBytes.length);
//비트맵 파일저장(외부저장소)
String filePath = Environment.getExternalStorageDirectory().getPath() + "/out.png";
File file = new File(filePath);
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
bitmap = rotateImage(bitmap, 270);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOutputStream);
} catch (FileNotFoundException e) {
}
}//onPreviewFrame
});
threadCamera.setPreviewDisplay(threadHolder);
threadCamera.startPreview();
} catch (IOException e) {
}
'+)기록 > 과제' 카테고리의 다른 글
정리사항 27 - 절대값, 스레드 종료 (0) | 2023.03.13 |
---|---|
정리사항 26 - SurfaceView, Thread 생성 (0) | 2023.03.10 |
정리사항 24 - 카메라 영상 실시간 받아오기/ 인식코드 (0) | 2023.03.08 |
정리사항 25 - GC(가비지 콜렉터), 메모리 누수 방지 (0) | 2023.03.03 |
정리사항 23 - 외부 SDK(라이브러리 .jar파일)적용 (0) | 2023.03.03 |