测量物体时调整摄像机角度的图像处理

时间:2015-11-29 17:08:34

标签: android ios image-processing camera

我正在编写一款能够计算一些东西的Android应用程序"基于给定的图像。

背景:

  1. 图片包含人形。

  2. 用户将输入所述人形的高度(以英尺和英寸为单位。示例6' 2")

  3. 然后,用户将指出他们头顶和脚底的位置。

  4. 然后使用此信息,我将获取相对于图片的每英寸像素数。一切正常。

  5. 问题:

    我遇到的问题是,如果用户有一个角度的摄像头,测量结果显然无法正常工作。换句话说......如果相机与地面完全垂直......那很好。但这对用户来说并不是一个现实的期望。

    我想知道怎么做是如何补偿相机的角度。这甚至可能吗?我认为这可能不是,但我认为那些可能比我更擅长数学的人能够得到第二意见。

    图片提供了一个更好的例子:

    enter image description here

1 个答案:

答案 0 :(得分:2)

看看:

Antonio Criminisi. "Single-View Metrology: Algorithms and Applications (Invited Paper)". In: Pattern Recognition. Ed. by Luc Van Gool. Vol. 2449. Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2002, pp. 224-239.

有关演示文稿,请参阅"A New Approach to Obtain Height Measurements from Video"

enter image description here

基本上

X = Hx(1)

其中x是图像中用齐次坐标表示的点,X是3D世界中的对应点,也用齐次坐标表示,H是3x3矩阵,称为单应矩阵

所以:

  

算法1:平面测量。

     
      
  1. 给定平面表面的图像估计图像到世界的单应矩阵H;
  2.   
  3. 重复

         

    (a)在图像平面上选择两个点x1和x2;

         

    (b)通过(1)将每个图像点反投影到世界平面,以获得两个世界点X1和X2;

         

    (c)计算欧几里德距离d(X1; X2)。

  4.   

上述论文的附录解释了如何计算H.

更多细节见

一个。 Criminisi。 单个和多个未校准图像的精确视觉计量。杰出论文系列。 Springer-Verlag London Ltd.,2001年9月.ISBN:1852334681。