2012-12-12 3 views
1

Android에서 라이브 카메라보기를 수정하려면 어떻게해야합니까?라이브 카메라보기 수정

검색하고이 응용 프로그램을 찾았습니다. https://play.google.com/store/apps/details?id=com.fingersoft.cartooncamera 내가하고 싶은 좋은 예입니다. 나는 카메라 뷰에 어떤 효과를 적용하기를 원했다. 일부 효과를 추가하거나 카메라 뷰에 무언가를 그릴 수있는 방법을 찾아야합니다.

내가 아는 한 비디오 스트림을 가져 와서 일부 변경 사항을 적용하고 다시 카메라보기에 표시해야합니다.

아이디어가 있으십니까?

감사합니다.

답변

2

Android - Camera Preview에 대한 자세한 내용은 post입니다. 완전히 다른 접근법은 OpenCV을 사용하는 것입니다.

화면에 이미지를 얻고 그것을 미리 내가 생각할 수있는 코드의 작은 조각은 다음과 같습니다

public class MainActivity extends Activity implements Callback { 

    Camera camera; 
    SurfaceView surfaceView; 
    SurfaceHolder holder; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     surfaceView = (SurfaceView) findViewById(R.id.surfaceView1); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     camera = Camera.open(); 
     Camera.Parameters parameters = camera.getParameters(); 
     parameters.setPictureFormat(ImageFormat.JPEG); 
     camera.setParameters(parameters); 

     holder = surfaceView.getHolder(); 
     holder.addCallback(this); 

     camera.setPreviewCallback(new PreviewCallback() { 
      public void onPreviewFrame(byte[] data, Camera camera) { 
       // You could apply some pixel operations directly here. 
       Log.d("Camera", "Camera image aquired"); 
      } 
     }); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     camera.stopPreview(); 
     camera.release(); 
    } 

    @Override 
    public void surfaceCreated(SurfaceHolder holder) { 
     try { 
      camera.setPreviewDisplay(holder); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     camera.startPreview(); 
    } 

    @Override 
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { 
    } 

    @Override 
    public void surfaceDestroyed(SurfaceHolder holder) { 
    } 
} 

이 작업을 수행하는 전체 예, GitHub에서 찾을 수 있습니다.

+0

와우, 많은 감사! – antohoho

관련 문제