Kamera ile tanınan nesne arasındaki mesafeyi hesaplamak istiyorum. Bunun için birçok yöntem denedim, nesne ve kamera arasındaki açıyı bulmaya çalıştım. ivme ölçer ve daha sonra * birNesne ile android telefon arasındaki mesafeyi nasıl ölçebiliriz?
h tan
= H kullanmak 1.4
, genellikle tabanından gelen yüksekliği ve i yönlendirme yöntemi elde kullanılarak açısını hesaplamak için çalışılmıştır. Lütfen yanlış nerede olduğumu bana bildirin. Bu şartla mücadele ettiğim 2 günden fazla oldu. Android Store'da bulunan ve aynı şeyin işlevini anlamaya çalışan çeşitli Kamera uygulamalarını inceledik ancak hiçbir şey verimli olmadı.
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 && 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);
}
mı? Ya balkonda durursam? Ayrıca, yakalanan nesnenin boyutlarını bilmiyorsanız, mesafeyi nasıl ölçebilirsiniz? Ayrıca, ne kadar objektif ve optik sensör yoğunluk bilgisi kullanıyorsunuz? –
Uygulamanın amacı, bir nesne ile kamera arasındaki mesafeyi bulmaktır. Her ikisinin de aynı yerde durduğunu varsayalım. Nesnenin boyutunu ölçmeye çalışmıyoruz. –
Ayrıca, http://stackoverflow.com/q/4588485 –