【问题标题】:Image stitching using JavaCV: compilation error使用 JavaCV 进行图像拼接:编译错误
【发布时间】:2013-05-16 10:49:57
【问题描述】:

我已经尝试过这段代码,但它给出了缝合器错误。我有没有用 导入静态 com.googlecode.javacv.cpp.opencv_stitching.Stitcher; 它与缝合器给出相同的错误。如果可以的话,请给我一个解决这个问题的方法。 谢谢。

代码是..

public class ImageStitching {

    public static void main(String[] args){
        MatVector images = new MatVector(2);
        images.put(0,cvLoadImage("sample1.png"));
        images.put(1,cvLoadImage("sample2.png"));

        IplImage result = new IplImage(null);
        int status = stitcher.stitch(images,result);

        if( status == stitcher.OK )
        {
            cvSaveImage("result.png", result);
        }
    }
}

【问题讨论】:

  • 你应该告诉我们错误是什么......
  • 线程“主”java.lang.Error 中的异常:未解决的编译问题:无法解析拼接器int status =stitcher.stitch(images,result);

标签: opencv javacv image-stitching


【解决方案1】:

您尚未在代码中声明 stitcher...

Stitcher stitcher = Stitcher.createDefault(false);

【讨论】:

  • 谢谢。错误已解决。但结果图像没有出现在项目中的任何地方。我是javacv的新手。如果可以请我可以解决此错误吗,谢谢
  • 首先,如果它解决了问题,你应该验证答案。然后,结果图像实际上是“结果”。您应该尝试在画布上打印它(查看 JavaCV 示例 here)。
  • 对不起,可以将结果加载到画布,但是没有这样的图像作为结果。这意味着线程“main”中的异常 java.lang.NullPointerException at canvas.showImage( image);com.googlecode.javacv.CanvasFrame.showImage(CanvasFrame.java:366) 在 com.googlecode.javacv.CanvasFrame.showImage(CanvasFrame.java:363) 在 ImageStitching.main(ImageStitching.java:54) 这个错误是那里 java:54 是 canvas.showImage(image);
  • 因为在你的情况下你必须使用“结果”而不是“图像”:canvas.showImage(result);
  • 我已经用这几行代码运行了这段代码 result = cvLoadImage("result.jpg"); final CanvasFrame canvas = new CanvasFrame("My Image", 1);画布.showImage(结果);错误是 ImageStitching 的 com.googlecode.javacv.CanvasFrame.showImage(CanvasFrame.java:363) 的 com.googlecode.javacv.CanvasFrame.showImage(CanvasFrame.java:366) 的线程“main”java.lang.NullPointerException 中的异常。 main(ImageStitching.java:57) java:57 is canvas.showImage(result);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-09
  • 2016-08-11
  • 1970-01-01
  • 2022-11-25
  • 2014-04-24
  • 2013-03-07
  • 1970-01-01
相关资源
最近更新 更多