在emgu 3.0.0.0中如何获得形状后的像素坐标?

时间:2015-09-15 13:53:34

标签: c# .net opencv image-processing emgucv

我一直试图获得如下所述的坐标: How to get coordinates of pixel after shape was rectified? 在Emgu CV 3.0.0中。 我可以使用以下代码(从上面的链接中窃取)来扭曲图像

 Image<Bgr, byte> theWarpedImage = new Image<Bgr, byte>(@"C:\myImage.jpg");
        PointF[] srcs = new PointF[4];
        srcs[0] = new PointF(1533, 2393);
        srcs[1] = new PointF(4169, 1817);
        srcs[2] = new PointF(1765, 1177);
        srcs[3] = new PointF(3717, 621);

        PointF[] dsts = new PointF[4];
        dsts[0] = new PointF(0, 0);
        dsts[1] = new PointF(2950, 0);
        dsts[2] = new PointF(0, 2100);
        dsts[3] = new PointF(2950, 2100);

        PointF[] test = new PointF[4];

        Mat mywarpmat = CvInvoke.GetPerspectiveTransform(srcs, dsts);
        Image<Bgr, byte> theWarpedImage2 = new Image<Bgr, byte>(@"C:\myImage.jpg");
        CvInvoke.WarpPerspective(theWarpedImage, theWarpedImage2, mywarpmat, theWarpedImage2.Size, Emgu.CV.CvEnum.Inter.Linear, Emgu.CV.CvEnum.Warp.Default, Emgu.CV.CvEnum.BorderType.Constant, new MCvScalar(0));

但我无法得到Luca Del Tongo在3.0.0.0版本中提供的解决方案

你有什么建议吗?

感谢MIKI:

 var test2=CvInvoke.PerspectiveTransform(srcs, mywarpmat);

作品。

1 个答案:

答案 0 :(得分:2)

Miki得到了解决方案。我用过:

var test2=CvInvoke.PerspectiveTransform(srcs, mywarpmat);

这很有效。谢谢Miki