게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안드로이드 개발 카메라 관련 질문이 있습니다
게시물ID : programmer_6621짧은주소 복사하기
작성자 : 아스트로보이
추천 : 0
조회수 : 475회
댓글수 : 0개
등록시간 : 2014/11/20 00:52:00
옵션
  • 본인삭제금지
카메라에 실시간으로 이미지를 받아서 처리하는 것을 하고싶습니다.

아주 간단한 서페이스뷰에 카메라 프리뷰를 직접 보여주는 건 소스가 많아서 쉽게 따라 했는데,
그 화면을 실시간으로 수정하고 싶어서 이미지를 받아오고 수정하고 다시 뿌려주고 싶습니다.

기존에 있던 뷰를 수정해서
public class CamView extends SurfaceView implements SurfaceHolder.Callback {.....

내부의 크리에이트 내에서의 코드를 수정한 것이 아래입니다.
아래에서 주석 친 mImageView.setImageBitmap(_Bitmap); 를 어떻게 띄어야 할지 잘 모르겠습니다.
public void surfaceCreated(SurfaceHolder arg0) {
mCamera = Camera.open();
try {
mCamera.setPreviewDisplay(mHolder);
mCamera.setPreviewCallback(new Camera.PreviewCallback(){ 
public void onPreviewFrame(byte[] _data, Camera _camera){ 

       int width = _camera.getParameters().getPictureSize().width;
       int height = _camera.getParameters().getPictureSize().height;
       
       int []abc = new int[width * height];
       
       ImageProg imageprog = new ImageProg(); //이미지 작업 클래스
       
       abc = ImageProg.decodeYUV420SP(_data, width, height);
       byte[] data = imageprog.prog(abc, width, height); //실제 작업 메서드
       
       Bitmap _Bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
        
       //mImageView.setImageBitmap(_Bitmap);
       
}
});
} catch (IOException e) {
e.printStackTrace();
}
}

원래 카메라만 띄었떤 기존 코드는
... 생략 ...
mCamera.setPreviewDisplay(mHolder);
Camera.Parameters parameters = mCamera.getParameters();
mCamera.setParameters(parameters);
mCamera.startPreview();
... 생략 ...

이렇게 있었는데, 여기선 setPreviewDisplay(mHolder) 를 통해 보내주는 곳을 잡는 걸로 알고 있는데,
수정한 코드의 setImageBitmap 된 뷰는 어떻게 나타내나요?

사실 위 수정된 코드도 제대로 짠 건지도 잘 모르겟네요..
독학으로 공부하는 지라 띄엄띄엄 개념을 놓치고 간게 있어 많이 부족합니다..
도움주시면 감사하겠습니다ㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호