1
public class PhotoActivity extends Activity implements SurfaceHolder.Callback {

private ImageView imageView;
private SurfaceView mSurfaceView;
private Bitmap bmp;
private SurfaceHolder mSurfaceHolder;
private Camera mCamera;
private Parameters parameters;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mSurfaceView = (SurfaceView) findViewById(R.id.surface_camera);
    imageView = (ImageView) findViewById(R.id.image_view);
    mSurfaceHolder = mSurfaceView.getHolder();
    mSurfaceHolder.addCallback(this);
    mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {

    parameters = mCamera.getParameters();
    mCamera.setParameters(parameters);
    mCamera.startPreview();

    Camera.PictureCallback mCall = new Camera.PictureCallback() {
        @Override
        public void onPictureTaken(byte[] data, Camera camera) {

            bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
            imageView.setImageBitmap(bmp);
            mSurfaceView.setVisibility(View.INVISIBLE);

            // Call web service
            SendPhotoAsync photoToWeb = new SendPhotoAsync(data);
            photoToWeb.execute();
        }
    };
    mCamera.takePicture(null, null, mCall);
}

@Override
public void surfaceCreated(SurfaceHolder holder) {

    mCamera = Camera.open();
    mCamera.setDisplayOrientation(90);
    try {

        mCamera.setPreviewDisplay(holder);

    } catch (IOException exception) {
        mCamera.release();
        mCamera = null;
    }
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {

    mCamera.stopPreview();
    mCamera.release();
    mCamera = null;
}
@Override
protected void onResume() {
    super.onResume();
}

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

Androidで顔検出器APIを使用して、カメラのプレビューで顔を検出するためにこのコードを変更する方法..助けてください..私も目を検出したい..誰かが私を助けてくれることを願っています..私はボタンで動作するこれを試しましたクリック.写真を撮るための私の場合、ボタンのクリックはありません..生産的なコードを持っている人はかなり重要です..私を助けてください。それは非常に重要です.

4

1 に答える 1

0

顔検出用の Android API がある場合は、写真アクティビティからこのアクティビティを呼び出します。写真アクティビティで、キャプチャした画像を SD カードに保存します。顔検出 API でこのファイルを読み取ります。したがって、作成できます。しかし、samsung galaxy+google nexus は顔検出を実行しません..AAkash は実行します..

于 2013-07-26T09:06:43.083 に答える