【问题标题】:Shape Transformers and Interfaces OpenCV3.0形状转换器和接口 OpenCV3.0
【发布时间】:2015-11-19 08:09:01
【问题描述】:

我试图利用 OpenCV3.0 的新形状转换器和接口。不幸的是,它没有按预期工作。为了确保不会产生任何花哨的扭曲并因此导致奇怪的结果,我初始化了一个什么都不应该发生的转换。但是测试点的转换输出始终为 [0,0] 并且扭曲的图像始终为完全灰色。欢迎提出任何可能有问题的建议。

int main(void){

 Mat img1 = imread("C:\\opencv\\sources\\samples\\data\\graf1.png", IMREAD_GRAYSCALE);
 std::vector<cv::Point2f> points1, testpoints;
 vector<DMatch> good_matches;
 Mat respic, resmat;

 points1.push_back(Point(0, 0)); //Corners 800x600 pic
 points1.push_back(Point(799, 0));
 points1.push_back(Point(799, 599));
 points1.push_back(Point(0, 599));

 Mat pointmatrix1(points1);

 good_matches.push_back(DMatch(0, 0, 0));
 good_matches.push_back(DMatch(1, 1, 0));
 good_matches.push_back(DMatch(2, 2, 0));
 good_matches.push_back(DMatch(3, 3, 0));

 testpoints.push_back(Point(250, 250));
 Mat testpointsmat(testpoints);

 // Apply TPS
 Ptr<ThinPlateSplineShapeTransformer> mytps = createThinPlateSplineShapeTransformer(0);
 mytps->estimateTransformation(pointmatrix1, pointmatrix1, good_matches); // Using same pointmatrix nothing should change in res
 mytps->applyTransformation(testpointsmat, resmat);

 cout << "pointmatrix1 = " << endl << " " << pointmatrix1 << endl << endl;
 cout << "testpointsmat = " << endl << " " << testpointsmat << endl << endl;
 cout << "resmat = " << endl << " " << resmat << endl << endl; //Always [0,0] ?

 imshow("img1", img1); // Just to see if I have a good picture

 mytps->warpImage(img1, respic);

 imwrite("Tranformed.png", respic);
 imshow("Tranformed", respic); //Always completley grey ?

 waitKey(0);

 return 0;
}

【问题讨论】:

    标签: transform shape opencv3.0 spline


    【解决方案1】:

    不要问我为什么,但是如果我添加这两行它就可以了。

    // Apply TPS
    transpose(pointmatrix1, pointmatrix1); // ADD
    transpose(testpoints, testpoints); // ADD
    Ptr<ThinPlateSplineShapeTransformer> mytps = createThinPlateSplineShapeTransformer(0);
    

    现在源 code here 中有一些奇怪的东西,为什么是 cols 而不是 rows。

    by LBerger

    【讨论】:

      猜你喜欢
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      相关资源
      最近更新 更多