[0.08064, 0.96458709, 0.992446, 0.92077314]怎么用putText把每个数显示在不同的地方只保留前五位
时间: 2024-04-04 13:32:00 浏览: 31
你可以使用putText函数以及String的substr函数来实现这个功能。下面是一个简单的示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <string>
using namespace cv;
using namespace std;
int main()
{
// 定义数据
vector<float> nums = {0.08064, 0.96458709, 0.992446, 0.92077314};
// 读取图像
Mat img = imread("test.jpg");
// 定义字体和字号
int fontFace = FONT_HERSHEY_SIMPLEX;
double fontScale = 1;
// 循环遍历每个数并显示在不同的位置
for (int i = 0; i < nums.size(); i++)
{
// 将数值转换成字符串并截取前五位
string numStr = to_string(nums[i]).substr(0, 5);
// 定义文本内容、位置和颜色
string text = numStr;
Point org(i * 100, 100);
Scalar color(255, 255, 255);
// 在图像上绘制文本
putText(img, text, org, fontFace, fontScale, color);
}
// 显示图像
imshow("Image", img);
waitKey(0);
return 0;
}
```
在上面的代码中,我们首先定义了一个包含四个浮点数的向量 `nums`,然后读取了一张名为 `test.jpg` 的图像。接下来,我们使用 `for` 循环遍历每个数,并将其转换成字符串并截取前五位。然后,我们定义了文本内容、位置和颜色,并在图像上使用 `putText` 函数绘制文本。最后,我们显示了处理后的图像。
注意,这只是一个简单的示例代码,你需要根据自己的实际需求进行修改。
阅读全文