首页 > 其他分享 >opencv之绘制透明图

opencv之绘制透明图

时间:2023-03-13 21:56:52浏览次数:28  
标签:mat cast float param opencv 透明图 rgba 绘制 compression

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;
    }

标签:mat,cast,float,param,opencv,透明图,rgba,绘制,compression
From: https://www.cnblogs.com/xiaohai123/p/17213044.html

相关文章

  • OpenLayers 绘制带箭头的LineString
    <!--*********************************************************************Copyright©2000-2022SuperMapSoftwareCo.Ltd.Allrightsreserved.*************......
  • python opencv绘制矩形框
    绘制矩形框defplot_one_box_PIL4(box,img,fontSize1,color=None,label=None,line_thickness=None):img=Image.fromarray(img)draw=ImageDraw.Draw(img......
  • 手把手教你使用LabVIEW OpenCV dnn实现图像分类(含源码)
    (文章目录)前言上一篇和大家一起分享了如何使用LabVIEWOpenCVdnn实现手写数字识别,今天我们一起来看一下如何使用LabVIEWOpenCVdnn实现图像分类。一、什么是图像分类?......
  • Qt音视频开发23-视频绘制QPainter方式(占用CPU)
    一、前言采集到的图片,用painter绘制是最基础的方式,初学者可能第一次尝试显示图片用的qlabel的setpixmap,用下来会发现卡成屎,第二次尝试用样式表设置背景图,依然卡成屎,最终选......
  • opencv库的安装
    1、安装#原始源pipinstallopencv-contrib-python#国内源(推荐)pipinstallopencv-contrib-python-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirr......
  • OpenCv Mat 数据结构
    前言OpenCv的Mat数据结构可以存储图片信息。但是以坐标系构建来说,Mat是以左上角为原点,而我们自己的日常习惯是以左下角为原点。本文提供了这两者之间的一种转换。假设M......
  • 使用python实现高光谱图像绘制 -----高光谱篇
    Python 已经有足够的包可以实现高光谱图像的绘制和各种精确显示。现总结python实现.mat资源文件的高光谱图像显示方案。需要准备python3.10及以下版本,目前高光谱显示所......
  • opencv图像处理基础之膨胀和腐蚀
    膨胀和腐蚀是图像处理中最常用也是最基础的形态学操作。它可以改变图像的一些属性。其中比较常见的应用场景有:1、边缘检测:膨胀和腐蚀可以提取二值图像中的边缘信息。通过先......
  • opencv初学笔记2(颜色提取与转换)
    opencv初学笔记2(颜色提取与转换)在面对完全不认识的一个技术时,茫然是不可避免的。但是在好奇与任务的驱使下,我一点点地去探索opencv的世界,一点点的试错与调试十分枯燥,可是......
  • opencv初学笔记
    黑马程序员【黑马程序员人工智能教程_10小时学会图像处理OpenCV入门教程】https://www.bilibili.com/video/BV1Fo4y1d7JL?vd_source=2f130c342f954b6e380a92c05c8b4252......