[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的向量,并将其用作图像的像素值。

相关推荐
Tandy12356_9 分钟前
手写TCP/IP协议栈——TCP结构定义与基本接口实现
c语言·网络·c++·网络协议·tcp/ip·计算机网络
Helibo4417 分钟前
2025年12月gesp3级题解
数据结构·c++·算法
西幻凌云36 分钟前
初始——正则表达式
c++·正则表达式·1024程序员节
沧澜sincerely1 小时前
蓝桥杯101 拉马车
c++·蓝桥杯·stl
wuk9981 小时前
基于直方图优化的图像去雾MATLAB实现
opencv·计算机视觉·matlab
w-w0w-w1 小时前
运算符重载
c++
持梦远方2 小时前
持梦行文本编辑器(cmyfEdit):架构设计与十大核心功能实现详解
开发语言·数据结构·c++·算法·microsoft·visual studio
小灰灰搞电子2 小时前
C++ 文件操作详解
开发语言·c++·文件操作
im_AMBER2 小时前
Leetcode 90 最佳观光组合
数据结构·c++·笔记·学习·算法·leetcode
Trouvaille ~2 小时前
【C++篇】智能指针详解(一):从问题到解决方案
开发语言·c++·c++11·类和对象·智能指针·raii