扩展一个正方形 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();
我正在尝试使用 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();