public EllipseParam detectAndDisplay(BufferedImage img, CascadeClassifier faceCascade) {
// EllipseParam openCV;
Point center = null;
double width = 0;
double height = 0;
Mat image = ImagePreProcessing.bufferedImageToMat(img);
// -- Detect faces
MatOfRect faces = new MatOfRect();
faceCascade.detectMultiScale(image, faces);
List<Rect> listOfFaces = faces.toList();
for (Rect face : listOfFaces) {
center = new Point(face.x + face.width * 0.5, face.y + face.height * 0.5);
width = face.width*0.5;
height = face.height*0.5;
System.out.println("OpenCV: " +center);
System.out.println("wid:" +width);
System.out.println("hei:" +height);
EllipseParam openCV = new EllipseParam(center, width, height);
System.out.println("value on EllipseParam: " +String.valueOf(openCV));
return openCV;
}
return null;
}
----- в классе EllipseParam
public class EllipseParam {
public double x;
public double y;
public double a;
public double b;
public double theta;
public Point center;
public double width;
public double height;
public EllipseParam(double x,double y,double a,double b,double theta){
this.x = x;
this.y = y;
this.a = a;
this.b = b;
this.theta = theta;
}
public EllipseParam(Point center, double width, double height){
//this.image = image;
this.center = center;
this.width = width;
this.height = height;
}
Я пытаюсь установить параметр и получить его, но вывод, который я получил, выглядит следующим образом:
OpenCV: {196,5, 156,5}
WID: 147,5
хей: 147,5
Исключение в потоке "AWT-EventQueue-0" java.lang.NullPointerException
значение для EllipseParam: entity.EllipseParam@d34c4b
Что не так с моим кодом?
Я прочитал ответ, но на самом деле это не решило мою проблему. Можете ли вы объяснить мне больше?