4

我使用stackoverflow和google搜索了很多。我需要计算我的相机和指定对象之间的距离。

为此,我需要找到相机的焦距。我也创建了示例项目,但它创建了空指针异常。请帮助..

代码如下。

    public class MainActivity extends Activity {

    Camera mcamera;
    int focul_length;
    Parameters params;
    File mFile;

    public int PICTURE_ACTIVITY_CODE = 1;
    public String FILENAME = "sdcard/photo.jpg";
    Camera.Parameters cameraParameters;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);


       launchTakePhoto();

    }

    private void launchTakePhoto()
    {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          cameraParameters = mcamera.getParameters();
         CameraInfo myinfo = new CameraInfo();
     float l=cameraParameters.getFocalLength(); // Here its creating Null Pointer Exception      
     mFile = new File(FILENAME);
            System.out.println("My Focul Length:--"+l);
    Uri outputFileUri = Uri.fromFile(mFile);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
    startActivityForResult(intent, PICTURE_ACTIVITY_CODE);
    }


    Also If possible please provide the code to get angle of Elevation.If possible.I need this very badly.I need your help guys!!



    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
        {
            if (requestCode == PICTURE_ACTIVITY_CODE)
            {
            if (resultCode == RESULT_OK)
            {

            ImageView myimageView = (ImageView) findViewById(R.id.imageView1);
            Uri inputFileUri = Uri.fromFile(mFile);
            myimageView.setImageURI(inputFileUri);
            }
            }
            }






    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
4

1 回答 1

1

您是否正在初始化 Camera 对象?在你的尝试这样的事情onCreate()

mcamera = Camera.open();
于 2013-08-30T11:51:24.630 回答