Note that there are some explanatory texts on larger screens.

plurals
  1. POhow can we measure distance between object and android phone camera
    primarykey
    data
    text
    <p>I want to calculate the distance between the camera and the recognized object.For this I tried a lot of methods, I tried to find the angle between the object and the camera using accelerometer and then use</p> <p>d = h * tan a</p> <p>h is height of from from the base generally which is 1.4</p> <p>and i tried to calculate the angle by using get orientation method. Kindly let me know where am I doing wrong. Its been more than 2 days I have been struggling with this requirement. We have looked into various Camera applications which are available on Android Store and have tried to understand the functionality of the same but nothing has been fruitful. </p> <pre><code> mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); accSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); magnetSensor = mSensorManager .getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) gravity = event.values; if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) geoMagnetic = event.values; if (gravity != null &amp;&amp; geoMagnetic != null) { float R[] = new float[9]; float I[] = new float[9]; boolean success = SensorManager.getRotationMatrix(R, I, gravity, geoMagnetic); if (success) { /* Orientation has azimuth, pitch and roll */ float orientation[] = new float[3]; //SensorManager.remapCoordinateSystem(R, 1, 3, orientation); SensorManager.getOrientation(R, orientation); azimut = 57.29578F * orientation[0]; pitch = 57.29578F * orientation[1]; roll = 57.29578F * orientation[2]; } } } captureButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // get an image from the camera double d = (Math.tan(Math.toRadians(Math.abs(pitch))) * sensorHeight); Toast.makeText( getApplicationContext(), "Distance = " + String.valueOf(d) + "m Angle = " + String.valueOf(Math.toRadians(Math.abs(pitch))), Toast.LENGTH_LONG).show(); } }); protected void onResume() { super.onResume(); mSensorManager.registerListener(this, accSensor, SensorManager.SENSOR_DELAY_NORMAL); mSensorManager.registerListener(this, magnetSensor, SensorManager.SENSOR_DELAY_NORMAL); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload