1. 程式人生 > >OpenCV靜心修煉總結篇5——影象混合

OpenCV靜心修煉總結篇5——影象混合

線性混合操作—理論

 

OpenCV api函式

            addWeightted ( 引數1:輸入影象1;    引數2:輸入影象1的alpha值;

                                       引數3:輸入影象2;  引數4:輸入影象2的alpha值;

                                      引數4:gamma的值(校驗值); 引數6:輸出的混合影象;

                                       )

                                     主:兩張圖片的大小和型別一致。

                                     Saturate(t) :確保t 在0-255之間。

 

 參考程式碼:

 // 兩張同大小型別的圖片混合

int image_blend()

{

Mat src1,src2,dst;

src1 = imread("1.png");

src2 =imread("2.png");

if(src1.empty())

{

  printf("不能載入影象1.png\r\n");

  return -1;

}

if(src2.empty())

{

  printf("不能載入影象2.png\r\n");

  return -1;

}

double alpha = 0.5;

if(src1.rows == src2.rows && src1.cols == src2.cols && src1.type() == src2.type())

{

addWeighted(src1,alpha,src2,1-alpha,0.0,dst);

imshow("src1 image",src1);

imshow("src2 image",src2);

imshow("blend image",dst);

}

else

{

    printf("兩張圖片大大小尺寸不一致\r\n");

}

waitKey(0);

}