【问题标题】:Why getAffineTransform return zero Matrix为什么 getAffineTransform 返回零矩阵
【发布时间】:2013-11-15 15:34:31
【问题描述】:

我正在使用 OpenCV 做一些图像处理工作。我想用仿射方法转换图像。这是我的代码:

Point2f srcTri[3];
Point2f dstTri[3];

srcTri[0] = Point2f( 0.0, 1.0 );
srcTri[1] = Point2f( 50.0, 1.0);
srcTri[2] = Point2f( 10.0, 1.0);

dstTri[0] = Point2f( 1.0, 1.0);
dstTri[1] = Point2f( 5.0, 50.0 );
dstTri[2] = Point2f( 110.0, 200.0 );

Mat warpMat = getAffineTransform( srcTri, dstTri );
cout << warpMat << endl;

但是打印结果是一个零矩阵。我的代码有什么问题?

【问题讨论】:

    标签: opencv image-processing computer-vision


    【解决方案1】:

    源中的所有点都具有相同的y 坐标,因此源三角形不是真正的三角形而是一条线。

    您正在尝试解决一个单一的问题。一条线的任何仿射变换都是一条线(您不能在一个区域中“膨胀”一条线)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      相关资源
      最近更新 更多