안드로이드폰 영상처리

 

영상처리(컴퓨터비전) 기술은 우리와 얼마나 가까워지고 있는가

http://readme.skplanet.com/?p=8137

 

 

스마트폰에서의 영상처리를 위한 GPU 활용

http://image.inha.ac.kr/paper2/KICS12Park.pdf

 

 

안드로이드 NDK로 영상처리 개발환경 구축

http://hs36.tistory.com/35

 

복잡하게 할 것도 없이 영상만 뿌려주고 sync를 맞출 필요가 없다면,
 간단한 socket 연결을 통해 A단말에서 영상 정보를 보내고 B 단말에서 받아 ImageView만 바꿔주시면 됩니다. 
           
// A 단말에서 카메라 정보 구하는 예제로 send 쪽은 직접 구현 해주셔야 합니다.        
mCamera.setPreviewCallback(new Camera.PreviewCallback() {
 
    public void onPreviewFrame(byte[] data, Camera camera) {
        
                        int w = params.getPreviewSize().width;
 
                        int h = params.getPreviewSize().height;
 
                        int format = params.getPreviewFormat()
            
            send(w, h, format, data);
    }
}
 
 
// B단말에서 정보를 받았을 때의 예제입니다. 
private void updateImage(byte[] data, Camera.Parameters params , int w, int h)
{
    YuvImage image = new YuvImage(data, format, w, h, null);
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    Rect area = new Rect(0, 0, w, h);
    image.compressToJpeg(area, 50, out);
    bitmap = captureImg = BitmapFactory.decodeByteArray(out.toByteArray(), 0, out.size());
 
    mImageView.setImageBitmap(bitmap);
}
단지 onPreviewFrame쪽의 경우 카메라 용이라 1초에 10fps 정도만 지원가능할겁니다.
 
다른 방법으로  http://developer.android.com/reference/android/media/MediaRecorder.html 의 C쪽 코드를 수정해서 파일로 떨궈지는 것을 http로 쏘게 하고 대상 단말에서 mediaplayer를 통해 재생하는 방식도 좋긴 한데,  C쪽 코드는 제조사마다 조금씩 달라질 수 있어서, 단말특성을 탈 수 있습니다. 그래도 졸작이니. 대상 단말을 정해서 시도해보시는 것도 괜찮을 듯 하네요.

사악미소 (52,850 포인트) 님이 2014년 3월 27일 답변

 

 

Capturing RTSP stream using javacv on Android

https://groups.google.com/forum/#!topic/javacv/4O_iwvdIQyU

+ Recent posts