c++ - 有什么简单的方法可以将 cv::Rect 大小和坐标相乘吗?

标签 c++ opencv

假设我有 2 个矩形。我希望第二个矩形比第一个矩形大两倍,并且 x,y 的位置也大两倍。

cv::Rect r1=Rect(10,20,40,60);
cv::Rect r2 = r1 * 2;  //this won't work

将矩形 2 参数 1 设置 1 就可以了

r2.height = r1.height * 2;
r2.width = r1.height * 2;
r2.x = r1.x * 2;
r2.y = r2.y * 2;

它有效,但是有没有更简单的方法(比如单行代码)?

最佳答案

如果你想这样做,这可能是最短的方法:

cv::Rect r1=Rect(10,20,40,60);
cv::Rect r2(r1.tl() * 2, r1.br() * 2);

关于c++ - 有什么简单的方法可以将 cv::Rect 大小和坐标相乘吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55569662/

相关文章:

c# - C++ 等效于 C# 嵌套私有(private)类

c++ - 将 Cpp 转换为 Rust,处理全局静态对象

c++ - 二维指针数组 C++

c++ - 为什么 c++ 标准支持函数 strftime 但不支持 strptime?

c# - C++ 运算符重载

java - 将 RGB 转换为灰度

python - 如何使用 Django Streaming HTTPS Response 正确渲染图像?

matlab - HaarTraining - MATLAB 还是 OpenCV?

opencv - 如何使用openCV识别连接组件的最窄部分?

python - 导入 opencv 与导入 cv2