[C++] opencv中如何生成随机颜色?

我们可以通过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的向量,并将其用作图像的像素值。

相关推荐
高力士等十万人2 小时前
OpenCV对比度增强
人工智能·python·opencv
柠石榴2 小时前
【练习】【类似于子集问题】力扣491. 非递减子序列/递增子序列
c++·算法·leetcode·回溯
Ronin-Lotus3 小时前
程序代码篇---C/C++中的变量存储位置
c语言·c++···静态区·文字常量区·变量存储位置
Abdullah al-Sa3 小时前
Docker教程(喂饭级!)
c++·人工智能·docker·容器
进击的_鹏3 小时前
【C++】list 链表的使用+模拟实现
开发语言·c++·链表
C语言扫地僧4 小时前
RPC 框架项目剖析
c++·网络协议·学习·rpc
水月梦镜花4 小时前
数据结构:基数排序(c++实现)
开发语言·数据结构·c++
苦学LCP的小猪5 小时前
OpenCV图像基本操作
opencv·计算机视觉
qing_0406036 小时前
数据结构——二叉搜索树
数据结构·c++·二叉树·二叉搜索树
Ljw...6 小时前
DeepSeek+Kimi生成高质量PPT
数据库·c++·powerpoint·ppt·deepseek