用cpp写一个根据矩形锚框坐标切割深度图并输出切割后深度图尺寸的函数
时间: 2024-05-02 21:16:24 浏览: 52
以下是一个简单的示例代码,它接受矩形锚框的左上角和右下角坐标以及深度图的宽度和高度,然后根据矩形锚框的坐标切割深度图并输出切割后深度图的尺寸。
```cpp
#include <iostream>
#include <vector>
// 根据矩形锚框坐标切割深度图并输出切割后深度图尺寸
void crop_depth_map(int x1, int y1, int x2, int y2, int width, int height) {
// 计算矩形锚框的宽度和高度
int box_width = x2 - x1 + 1;
int box_height = y2 - y1 + 1;
// 确定切割后深度图的左上角和右下角坐标
int crop_x1 = std::max(0, x1);
int crop_y1 = std::max(0, y1);
int crop_x2 = std::min(width - 1, x2);
int crop_y2 = std::min(height - 1, y2);
// 计算切割后深度图的宽度和高度
int crop_width = crop_x2 - crop_x1 + 1;
int crop_height = crop_y2 - crop_y1 + 1;
// 输出切割后深度图的尺寸
std::cout << "Crop depth map size: " << crop_width << " x " << crop_height << std::endl;
}
int main() {
// 示例:矩形锚框左上角坐标为 (10, 20),右下角坐标为 (50, 60)
// 深度图宽度为 100,高度为 80
crop_depth_map(10, 20, 50, 60, 100, 80);
return 0;
}
```
可以根据自己的实际需求对函数进行修改和扩展。
阅读全文