opencv之绘制透明图
Published on 2023-03-13 21:46 in 分类: opencv with 萧海~
分类: opencv

opencv之绘制透明图

    void createAlpaMat(Mat &mat)
    {
    for(int i=0;i<mat.rows;i++)
    {
    for(int j=0;j<mat.cols;j++)
    {
    Vec4b &rgba=mat.at<Vec4b>(i,j);
    rgba[0]=UCHAR_MAX;
    rgba[1]=saturate_cast<uchar>((float(mat.cols-1))/((float)mat.cols)*UCHAR_MAX);
    rgba[2]=saturate_cast<uchar>((float(mat.rows-1))/((float)mat.rows)*UCHAR_MAX);
    rgba[3]=saturate_cast<uchar>(0.5*(rgba[1]+rgba[2]));
    }
    }
    }
    Mat mat(480,640,CV_8UC4);
    createAlpaMat(mat);
    vector<int>compression_param;
    compression_param.push_back(IMWRITE_PNG_COMPRESSION);
    compression_param.push_back(9);
    try {
    imwrite("res.png",mat,compression_param);
    } catch (...) {
    cout<<"write error"<<endl;
    }
    posted @   萧海~  阅读(161)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    历史上的今天:
    2021-03-13 【WebSocket】入门教程(JS)
    2021-03-13 C++11多线程
    2021-03-13 C++多态
    2021-03-13 qt-事件处理的方式
    2021-03-13 qt-事件的接受和忽略
    2021-03-13 VS2013针对C++自定义注释[代码段]方法
    2021-03-13 Qt发送事件与自定义事件(示例代码)
    点击右上角即可分享
    微信分享提示
    电磁波切换