[英]Exception Handling for cv::Rect
我有边界框,我想用这个边界框裁剪图像。
但是我想增加边界框的大小,所以我这样做
if ((roi_.x - 5) > 0) // i test here in case the component at the left near border we do not minus otherwise it will be error
{
roi_.x += (-5);
}
if ((roi_.y - 5) > 0) // i test here in case the component at the left near border we do not minus otherwise it will be error
{
roi_.y += (-5);
}
if (&(roi_ + cv::Size(10, 0)) != NULL)
{
roi_.width += 10;
}
if (&(roi_ + cv::Size(0, 10)) != NULL)
{
roi_.height += 10;
}
对于靠近边界的最右边的组件,如果我增加宽度,那将是错误的。 如果组件位于边界附近的底部,则高度相同
有没有办法处理这个例外?
你得到错误是因为&
需要l值 ,这不是roi_ + cv::Size(10, 0)
roi_ + cv::Size(0, 10)
roi_ + cv::Size(10, 0)
和roi_ + cv::Size(0, 10)
。
你需要改变
if (&(roi_ + cv::Size(10, 0)) != NULL)
...
if (&(roi_ + cv::Size(0, 10)) != NULL)
至
if ((roi_.x + roi_.width + 10) < img.cols)
...
if ((roi_.y + roi_.height + 10) < img.rows)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.