错误:找不到适合showImage的方法(IplImage)

时间:2016-03-18 02:31:36

标签: javacv

我正在研究JavaCV,我创建了JFrame以在动作时显示图像(单击按钮)。但我面临上述错误,没有合适的方法。 它说论证不匹配; IplImage无法转换为图像和帧。以下是我面临错误的代码片段:

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        final opencv_core.IplImage image= cvLoadImage("D:\\Wallpapers\funny_download");
        final CanvasFrame canvas= new CanvasFrame("Demo");
       canvas.showImage(image);
       canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);    
    }     

显示的错误是:

error: no suitable method found for showImage(IplImage)
   canvas.showImage(image);
method CanvasFrame.showImage(Frame) is not applicable
  (argument mismatch; IplImage cannot be converted to Frame)
method CanvasFrame.showImage(Image) is not applicable
  (argument mismatch; IplImage cannot be converted to Image)

请发布解决方案,因为我正在开展一个项目。

1 个答案:

答案 0 :(得分:1)

图像的类型为LblImage,showImage(args)需要一个类型的Frame / Image作为参数才能工作。您需要使用OpenCVFrameConverter将其转换为该类型。

将这两行添加(或替换)到您的代码中,您的程序将正常工作。在绕过它之前,也遇到了同样的问题。

    OpenCVFrameConverter.ToIplImage converter=new OpenCVFrameConverter.ToIplImage();
    canvas.showImage(converter.convert(image));

请记住导入OpenCVFrameConverter库