2016-03-18 1 views
1

Я работаю над JavaCV, я создал JFrame для показа изображения при действии (нажатие кнопки). Но я столкнулся с вышеупомянутой ошибкой без подходящего метода. В нем указано несоответствие аргументов; IplImage нельзя преобразовать в изображение и Frame. Вот фрагмент кода, в котором я столкнулся ошибка:Ошибка: Не найдено подходящего метода для 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 библиотеку

Смежные вопросы