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