2014-05-11 3 views
1

BufferedImage에서 완전히 작동하는 자체 이미지 처리 응용 프로그램을 만들고 있습니다. 이제 [OpenShift.com] 블로그 의 블로그에서 얼굴 인식에 대한 코드를 발견했습니다. 이제 자신의 GUI 응용 프로그램에 해당 코드를 통합하려고합니다. 그러나 얼굴 검출기 코드로 문제가 발생하면 이미지는 iplImage 객체의 인스턴스입니다 그것을 위해 먼저 버퍼링 된 이미지를 IplImage로 변환하여 메서드가 현재 변환 된 이미지를 받아 들일 수 있도록해야합니다. 도와주세요 .. 얼굴 검출기 코드 아래에 있습니다.IplImage를 BufferedImage로 변환하여 통합

public class FaceDetection{ 

    //Load haar classifier XML file 
    public static final String XML_FILE = 
      "C:\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt2.xml"; 

    public static void main(String[] args){ 

     //Load image 
     IplImage img = cvLoadImage("C:\\Users\\The Blue Light\\Desktop\\13.jpg");  
     detect(img);   
    } 

    //Detect for face using classifier XML file 
    public static void detect(IplImage src){ 

     //Define classifier 
     CvHaarClassifierCascade cascade = new CvHaarClassifierCascade(cvLoad(XML_FILE)); 

     CvMemStorage storage = CvMemStorage.create(); 

     //Detect objects 
     CvSeq sign = cvHaarDetectObjects(
       src, 
       cascade, 
       storage, 
       1.5, 
       3, 
       CV_HAAR_DO_CANNY_PRUNING); 

     cvClearMemStorage(storage); 


     int total_Faces = sign.total();  

     //Draw rectangles around detected objects 
     for(int i = 0; i < total_Faces; i++){ 
      CvRect r = new CvRect(cvGetSeqElem(sign, i)); 
      cvRectangle (
        src, 
        cvPoint(r.x(), r.y()), 
        cvPoint(r.width() + r.x(), r.height() + r.y()), 
        CvScalar.CYAN, 
        2, 
        CV_AA, 
        0); 

     } 

     //Display result 
     cvShowImage("Result", src); 
     cvWaitKey(0); 

    }   
} 
+0

확실히 당신은 이미') ('IplImage # getBufferedImage를 호출하려고 한 경우 잘못 될 수 있지만, 많은 것들이 당신이 설명해야 있습니다 ** 어떤 ** 거기에 잘못 간다. 그렇지 않으면 ... 시도해보십시오 ;-) – Marco13

+0

은 IplImage # getBufferedImage() 소스 IplImage를 BufferedImage로 변환하는 inbuild 메소드입니까? – user3291928

+0

그래, 그렇습니다. – Marco13

답변

2

IplImage image = IplImage.createFrom (yourBufferedImage); Marco13 내가 필요 정확히 @

감사합니다 ..

관련 문제