[0.08064, 0.96458709, 0.992446, 0.92077314]怎么用putText把每个数显示在不同的地方只保留前五位
时间: 2024-03-31 20:38:01 浏览: 14
你可以使用以下代码将每个数字显示在不同的位置,并将其四舍五入到前五位小数:
```
#include <opencv2/opencv.hpp>
#include <iostream>
#include <iomanip>
#include <sstream>
using namespace std;
using namespace cv;
int main()
{
vector<double> nums = {0.08064, 0.96458709, 0.992446, 0.92077314};
Mat img = Mat::zeros(Size(500, 500), CV_8UC3);
for (int i = 0; i < nums.size(); i++) {
stringstream stream;
stream << fixed << setprecision(5) << nums[i];
string text = stream.str();
int x = 50 + i * 100;
int y = 250;
putText(img, text, Point(x, y), FONT_HERSHEY_SIMPLEX, 1.0, Scalar(255, 255, 255), 2);
}
imshow("Image", img);
waitKey(0);
return 0;
}
```
这个程序创建了一个大小为500x500的黑色图像,并在其中使用putText函数将每个数字分别绘制在图像的不同位置。每个数字都使用stringstream进行格式化,并使用setprecision(5)将其四舍五入到前五位小数。最后,putText函数将文本绘制在图像上,并使用Scalar(255, 255, 255)设置文本颜色为白色。
阅读全文