【问题标题】:Geometric warping showing black image显示黑色图像的几何翘曲
【发布时间】:2014-10-21 15:57:40
【问题描述】:

我遇到了几何变形的问题,基本上是从自上而下的角度扭曲图像。不使用积分。

我有什么:

  1. 我有一张 45 度角的图像(即)F 是我的相机指向下方的位置

  2. This 关于我想做的事情的论文。第2页有主要公式

  3. opencv cv::warpPerspective 中用于激活此扭曲图像的主要函数
  4. 我有必要的 Ccam1_cam2 旋转(假设我的数学是正确的)

我做了什么:

  1. 我已经使用论文中的公式生成了一个 H 矩阵。
  2. 测试如果没有平移,只有旋转,即H=R,是否会使扭曲的图像看起来更好。
  3. 从扭曲的图像中查看我的 x,y 值,发现它们是

    代码:

    cv::Mat  hmatrix = (cv::Mat_<double>(3,3) << H.c11, H.c12, H.c13, 
                           H.c21, H.c22, H.c23, 
                           H.c31, H.c32, H.c33);
    lfImg = cv::imread("undistortedsmall.bmp", 0);
    imshow("not warped image", lfImg);
    cv::waitKey(0);
    cv::Mat warpedimg;
    cv::Scalar borderValue;
    cv::warpPerspective(lfImg, warpedimg, hmatrix ,lfImg.size(),cv::INTER_LINEAR,cv::BORDER_CONSTANT,borderValue);
    
    imshow("warpedImage", warpedimg);
    
  4. 我从一个自上而下的图像中获取了点,并从我的 45 度图像中获取了相应的点,并生成了一个变形良好的 H 矩阵。只是为了看看 H 矩阵会是什么样子。但规模完全不同。

示例:

 My generated H Matrix:
      0.240053 0.859119 -0.451983
      0.689905 -0.478534 -0.543171
      -0.682938 -0.181435 -0.707585

 pt generated H matrix
     0.894764 3.37653 77.6052
     -0.950235 2.02846 240.977
     -8.73899e-05 0.00384326 1

我想要什么:

在不使用从图像中提取的点的情况下对该图像进行自上而下的变形。

问题 黑屏(如果我缩放矩阵我的一些倍数可以说* 100) 我得到一个不正确的翘曲,但至少是可见的

【问题讨论】:

    标签: c++ opencv transformation perspective homography


    【解决方案1】:

    由于您没有显示在 H 中生成值的完整代码 - 很难确定,但您可能缺少内在参数矩阵(也通常称为相机校准矩阵)。

    您提供的论文中没有提到它,这意味着它们可以使用所谓的“标准化”或“未校准”单应性。当您从点对应生成单应性时,您将获得“校准”的单应性并获得预期的结果。

    考虑 3D 平面到平面方程 here 部分。如您所见,R-(t*n^t)/d 预乘矩阵 Ka 并后乘 Kb^-1(倒置的第二个相机的固有矩阵),以产生“校准”单应性。如果两张图像都是用同一台相机拍摄的,您可以假设 Ka = Kb。

    因此,为了获得“校准”单应性,您可以使用表达式 Hc = K * H * K^-1,其中 Hc 是校准单应性,H 是未校准单应性,K 是校准矩阵。

    现在,您需要估算 K。理想情况下,您应该执行相机校准以获得它,但如果您知道相机的焦距,您可以使用如下粗略的近似值:

        | f, 0, cx |
    K = | 0, f, cy |
        | 0, 0,  1 |
    

    其中 f 是以像素为单位的相机焦距,(cx, cy) 是主点的坐标(您可以使用 (w/2, h/2) 其中 w 和 h 是以像素为单位的图像宽度和高度)

    【讨论】:

      猜你喜欢
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      • 2020-03-09
      相关资源
      最近更新 更多