これは、C++ の "+=" の数学表記です。実際に ± を直接使用することはありません。例えば:
//make a rectangle that's 10x10 and centered at (0, 0)
cv::Rect rect(0, 0, 10, 10);
std::cout << "Original Rectangle: " << rect.area() << std::endl;
//manual addition to rectangle dimensions -- this will make bigger_rect be 20x20
cv::Rect bigger_rect = rect;
bigger_rect.height += 10;
bigger_rect.width += 10;
std::cout << "Bigger Rectangle: " << bigger_rect.area() << std::endl;
//other method of adding to a rectangle's area -- this will increase rect to be 20x20
rect += cv::Size(10, 10);
std::cout << rect.area() << std::endl;
したがって、長方形の高さと幅に 10 を追加する例を実行するには、±記号が次と同等であると考えてください。+= cv::Size(width, height)
まあ、あなたは多かれ少なかれ正しい考えを持っていました...
編集:あなたのコメントに関しては、詳しく説明する必要があります: rect += ポイント、rect -= ポイント、rect += サイズ、rect -= サイズは、次のような 4 つの異なる操作です。
rect += pointとrect -= point: 四角形をポイント単位でシフトします。ここで、ポイントはcv::Pointオブジェクトを参照します。つまり、ポイントを : として宣言できます
cv::Point pt(5, 5);。そうするとrect += pt、四角形の x メンバーと y メンバーがシフトします (デフォルトでは、これらは四角形の左上を参照します)。座標) を 5 ずつ - たとえば、 and を実行するのと同じrect.x += 5ですrect.y += 5。rect -= point足し算ではなく引き算ですが、のケースは同じです (そうrect.x -= 5とrect.y -= 5)。
rect += size座標位置とrect -= sizeは対照的に、長方形のサイズを変更します。これ+=により、長方形の領域が増加し、-=減少します。