我们可以通过C++来生成OpenCV绘图使用的随机颜色,代码如下:
cpp
#include <iostream>
#include <opencv2/opencv.hpp>
#include <ctime>
int main()
{
// 获取当前时间点
auto now = std::chrono::system_clock::now();
// 将时间点转换为time_t类型
std::time_t currentTime = std::chrono::system_clock::to_time_t(now);
// 初始化随机数种子
srand(static_cast<unsigned int>(currentTime));
// 或者
// srand(static_cast<unsigned int>(time(0)));
// 生成随机颜色
//cv::Vec3b randomColor(rand() % 256, rand() % 256, rand() % 256);
cv::Scalar randomColor(rand() % 256, rand() % 256, rand() % 256);
// 创建一个随机颜色的图像
cv::Mat image(100, 100, CV_8UC3, randomColor);
// 显示图像
cv::imshow("Random Color Image", image);
cv::waitKey(0);
return 0;
}
这个代码将生成一个大小为100x100像素的随机颜色图像。它首先使用当前时间作为随机数种子来初始化随机数生成器。然后,它使用rand()
函数生成三个介于0到255之间的随机整数,分别表示红色、绿色和蓝色通道的值。最后,它使用这些值创建一个cv::Vec3b
类型或cv::Scalar
的向量,并将其用作图像的像素值。