2016-03-18 41 views
1

我正在使用JavaCV,我创建了JFrame以显示图像的操作(单击按钮)。但是我正面临着没有合适方法的上述错误。 它说参数不匹配; IplImage不能转换为图像和框架。这是在我面对错误的代码片段:显示错误:找不到合适的方法showImage(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

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

将这两行添加(或替换)到您的代码中,您的程序将正常工作。在解决这个问题之前,也有几个小时也有同样的问题。

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

记得导入OpenCVFrameConverter库

相关问题