提交 c5b5d5c8 编写于 作者: P Piotr Semenov

Fix. Now cv::Rect() is the identity under cv::Rect::operator| operation

上级 f670a992
...@@ -1803,12 +1803,17 @@ Rect_<_Tp>& operator &= ( Rect_<_Tp>& a, const Rect_<_Tp>& b ) ...@@ -1803,12 +1803,17 @@ Rect_<_Tp>& operator &= ( Rect_<_Tp>& a, const Rect_<_Tp>& b )
template<typename _Tp> static inline template<typename _Tp> static inline
Rect_<_Tp>& operator |= ( Rect_<_Tp>& a, const Rect_<_Tp>& b ) Rect_<_Tp>& operator |= ( Rect_<_Tp>& a, const Rect_<_Tp>& b )
{ {
_Tp x1 = std::min(a.x, b.x); if (!a.area()) {
_Tp y1 = std::min(a.y, b.y); a = b;
a.width = std::max(a.x + a.width, b.x + b.width) - x1; }
a.height = std::max(a.y + a.height, b.y + b.height) - y1; else if (b.area()) {
a.x = x1; _Tp x1 = std::min(a.x, b.x);
a.y = y1; _Tp y1 = std::min(a.y, b.y);
a.width = std::max(a.x + a.width, b.x + b.width) - x1;
a.height = std::max(a.y + a.height, b.y + b.height) - y1;
a.x = x1;
a.y = y1;
}
return a; return a;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册