如何使用相机测量物体的高度和宽度?

时间:2017-01-11 11:03:17

标签: java android

我提到了很多链接,但我仍然无法得到任何意义,因为我可以开始我的开发。我想用相机测量我的图像高度和宽度。我找到了这个应用程序我想让这种类型的应用程序不完全相同但完全相同但是根据我的要求,我想用相机测量我的图像高度和宽度。

我想测量书包的高度和宽度。

任何人都可以给我/建议我正确的方法或任何简单的示例代码,以便我可以更多地了解这个要求。

2 个答案:

答案 0 :(得分:0)

您需要包括与其他感兴趣的对象一起放置在图像中的参考对象(例如,一个硬币),该对象的高度(已知)(例如,硬币)是已知的,然后使用像素高度对象,然后获得比例值VALUE,就可以使用它来确定图像中其他对象的尺寸。

参考对象的放置必须在预定位置,例如,朝向图像的左侧。因此它是孤立的,我们可以得到它的像素尺寸,从中可以得到一个VALUE来测量图像中远离参考对象放置的其他对象。

答案 1 :(得分:-2)

我正在回答这个问题:

  

我想让这种类型的应用程序不完全相同但完全相同但是根据我的要求,我想用相机测量我的图像高度和宽度。

您可以使用getWidth()getHeight()来获取ImageView的高度和宽度,而这不会为您提供图像的精确宽度和高度,以便首先获得图像宽度高度得到drawable作为背景,然后将drawable转换为BitmapDrawable以获得Bitmap的图像,你可以得到像这里的宽度和高度

Bitmap b = ((BitmapDrawable)imageView.getBackground()).getBitmap();
int w = b.getWidth();
int h = b.getHeight();

或者喜欢这里

imageView.setDrawingCacheEnabled(true);
Bitmap b = imageView.getDrawingCache();
int w = b.getWidth();
int h = b.getHeight();

上面的代码将为您提供当前的imageview大小的位图,如设备的屏幕截图

仅适用于ImageView尺寸

imageView.getWidth(); 
imageView.getHeight(); 

如果您有可绘制的图像,并且您想要这样的尺寸,则可以这样使用

Drawable d = getResources().getDrawable(R.drawable.yourimage);
int h = d.getIntrinsicHeight(); 
int w = d.getIntrinsicWidth();      
╔═══════════════════════════════╗   ^
║ ImageView    ╔══════════════╗ ║   |
║              ║              ║ ║   |
║              ║ Actual image ║ ║   |
║              ║              ║ ║   |60px height of ImageView
║              ║              ║ ║   |
║              ║              ║ ║   |
║              ╚══════════════╝ ║   |
╚═══════════════════════════════╝   v
<------------------------------->
                   90px width of ImageView