我正在研究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)
请发布解决方案,因为我正在开展一个项目。
答案 0 :(得分:1)
图像的类型为LblImage,showImage(args)需要一个类型的Frame / Image作为参数才能工作。您需要使用OpenCVFrameConverter将其转换为该类型。
将这两行添加(或替换)到您的代码中,您的程序将正常工作。在绕过它之前,也遇到了同样的问题。
OpenCVFrameConverter.ToIplImage converter=new OpenCVFrameConverter.ToIplImage();
canvas.showImage(converter.convert(image));
请记住导入OpenCVFrameConverter库