帮我写一个c++代码,手动输入深度值,生成深度图
时间: 2024-03-06 09:48:25 浏览: 65
好的,以下是生成深度图的C++代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
using namespace std;
int main() {
int width, height;
// 读取深度图的宽度和高度
cout << "请输入深度图的宽度和高度(用空格隔开):" << endl;
cin >> width >> height;
// 初始化深度值数组
float* depth_map = new float[width * height];
// 手动输入深度值
for (int i = 0; i < width * height; i++) {
cout << "请输入深度值(第 " << i + 1 << " 个):" << endl;
cin >> depth_map[i];
}
// 将深度值写入文件
string file_name;
cout << "请输入深度图文件名:" << endl;
cin >> file_name;
ofstream out_file(file_name);
out_file << "P2" << endl;
out_file << width << " " << height << endl;
out_file << "65535" << endl;
for (int i = 0; i < width * height; i++) {
out_file << round(depth_map[i] * 65535) << endl;
}
out_file.close();
// 释放深度值数组的内存
delete[] depth_map;
return 0;
}
```
这份代码会询问你深度图的宽度和高度,然后手动输入每个像素点的深度值,最后将深度值保存到指定文件中。
阅读全文