扩大一个方形openCV

时间:2015-01-16 11:46:00

标签: java opencv coordinates

我正在尝试使用openCV扩展一个具有给定persentage的矩形。我在下面写了一个函数。由于Rectengle类的x和y值是public,我必须得到并设置x和y值而不使用getter或setter方法(尽管类没有它们)。但是我在行#34; 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;

 }

1 个答案:

答案 0 :(得分:0)

Rect temp = Rect(0,0);

此行应为

Rect temp = new Rect(0,0);

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

Rect temp = new Rect();