扩展一个正方形 openCV

expanding a square openCV

我正在尝试使用 openCV 扩展具有给定百分比的矩形。我在下面为它写了一个函数。由于 Rectengle class 的 x 和 y 值是 public,我必须在不使用 getter 或 setter 方法的情况下获取和设置 x 和 y 值(class虽然没有它们)。但是,在调试期间,我在行 "temp.x=r.x-(tempWidth/2);" 上收到 NullPointerException 错误。

会是什么问题? 谢谢

  public Rect extendRect(Rect r,double persent,int bmpWidth,int bmpHeight)
   {

    Rect temp = Rect(0,0);
    int tempWidth =(int)(r.width*persent+(double)r.width);
    int tempHeight =(int)(r.height*persent+(double)r.height);
    temp.x=r.x-(tempWidth/2);// orginal rect 
    temp.width=tempWidth;

    temp.y=r.y-(tempHeight/2);
    temp.height=tempHeight;
    //boundary check
    if((temp.x+temp.width)>bmpWidth)
    {
        temp.width = bmpWidth-temp.x;
    }
    if(temp.x<0)
    {
        temp.x=0;
    }
    if((temp.y+temp.height)>bmpHeight)
    {
        temp.height =bmpHeight-temp.y;
    }
    if(temp.y<0)
    {
        temp.y=0;
    }

return temp;

 }
Rect temp = Rect(0,0);

这一行应该是

Rect temp = new Rect(0,0);

实际上这甚至不应该编译。只需使用

Rect temp = new Rect();