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