2016-07-31 2 views
0

ここに私のコードです。このメソッドは、 "openBD_core.IplImage"型のメソッドgetBufferedImage()は未定義です。どうすればそれを取り除くことができますか?バッファリングされたイメージを取得する方法はありますか?誰かが何か考えがある場合は、できるだけ早く教えてくださいこのエラーを取り除く方法「opencv_core.IplImage型のメソッドgetBufferedImage()は未定義です」

public IplImage snapIm = null; 
public Rectangle faceRect; 
public void paintComponent(Graphics g){ 
     super.paintComponent(g); 
     Graphics2D g2 = (Graphics2D) g; 

     if (snapIm != null) 
      g2.drawImage(snapIm.getBufferedImage(), 0, 0, this); //This Line is causing problem 

     drawRect(g2); 
     writeStats(g2); 
     writeName(g2); 
} 
public void recogFace(IplImage img) 
{ 
    BufferedImage clipIm = null; 
    synchronized(faceRect) { 
     if (faceRect.width == 0) { 
      System.out.println("No face selected"); 
      return; 
     } 
     clipIm = ImageUtils.clipToRectangle(img.getBufferedImage(),faceRect.x, faceRect.y, faceRect.width, faceRect.height); //This Line is causing problem 
    } 
    if (clipIm != null) 
    matchClip(clipIm); 
} 

答えて

0

私は手を検出しようとしていたときも同じ問題がありました。私は、新しいopenCVバージョンにorg.bytedeco.opencv_core.IplImageクラスのgetBufferedImage()メソッドがないことを知りました。私はこの方法を見つけてくれました。

public static BufferedImage IplImageToBufferedImage(IplImage src) { 
    OpenCVFrameConverter.ToIplImage grabberConverter = new OpenCVFrameConverter.ToIplImage(); 
    Java2DFrameConverter paintConverter = new Java2DFrameConverter(); 
    Frame frame = grabberConverter.convert(src); 
    return paintConverter.getBufferedImage(frame,1); 
} 

この方法で問題を解決することをお勧めします。

関連する問題