opencv 图片透明度修改


在opencv中默认载入的图像时3通道图像RGB,但是如果要修改成透明图像,或修改透明度时就发现捉襟见肘了,此时需要把图像修改为4通道图像RGBA,其中A通道就是修改透明度的关键,取值范围0到255,0纯透明,255不透明;保存时不能保存为jpeg,因为jpeg格式图像不支持透明效果。

实现转化关键代码如下:

void 3ChannelsTo4Channels(IplImage* src,IplImage* des)
{
    CvScalar p1,p2;
    int width = src->width;
    int height = src->height;
    for (int i = 0; i < width; i++)
    {
        for (int j = 0; j < height; j++)
        {
            p1 = cvGet2D(src,j,i);
            p2.val[0] = p1.val[0];
            p2.val[1] = p1.val[1];
            p2.val[2] = p1.val[2];
            p2.val[3] = 255;  
            cvSet2D(des,j,i,p2);    
        }
    }    
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM