Android 如何将相机拍摄的照片转换为二进制

Android 如何将相机拍摄的照片转换为二进制,android,Android,我想将手机摄像头拍摄的图像转换为二进制图像,并使用该二进制图像进行进一步处理。我制作了一个应用程序,可以拍摄照片并保存在gallery中 如何将照片转换为二进制?简单的四行: Bitmap bmp = BitmapFactory.decodeFile("/imagepath/yourimage.jpg"); ByteArrayOutputStream bos = new ByteArrayOutputStream(); bmp.compress(Bitmap.CompressFormat.J

我想将手机摄像头拍摄的图像转换为二进制图像,并使用该二进制图像进行进一步处理。我制作了一个应用程序,可以拍摄照片并保存在gallery中


如何将照片转换为二进制?

简单的四行:

Bitmap bmp = BitmapFactory.decodeFile("/imagepath/yourimage.jpg");
ByteArrayOutputStream bos = new ByteArrayOutputStream();  
bmp.compress(Bitmap.CompressFormat.JPEG, 100, bos);  
byte[] b = bos.toByteArray();

使用以下方法从相机拍摄图像:

private void fromCamera() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
        Log.d("FROM CAMERA CLICKED file uri", fileUri.getPath());
        intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);

        // start the image capture Intent
        startActivityForResult(intent, REQUEST_CODE_FROM_CAMERA);
    }
在onActivityResult()之后


尝试使用阈值算法
@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == REQUEST_CODE_FROM_CAMERA
                && resultCode == Activity.RESULT_OK) {
            try {


                image_path = fileUri.getPath();

                Bitmap bm = BitmapFactory.decodeFile(image_path);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();  
                bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object   
                byte[] b = baos.toByteArray(); 

            } catch (NullPointerException e) {
                e.printStackTrace();
            }

        } 
}