logo资料库

opencv 图像融合.docx

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
opencv 图像融合 void cvAddWeighted( const CvArr* src1, double alpha, const CvArr* src2, double beta, double gamma, CvArr* dst ); 在 cvAddWeighted()中,有两个源图象 src1 和 src2。 这两个图象可以是任 何象素类型,只要它们的类型相同。它们可以是单通道或是三通道,只要它们相 符。运算结果的目标图象,dst,必须和 src1 和 src2 有相同的象素类型。这些 图象可以是不同的尺寸,但它们的 ROI 必须有相同的大小,否则 OpenCV 会报 告一个错误。参数 alpha 是 src1 的混合强度,beta 是 src2 的混合强度。alpha 混合的计算公式为: 你可以可 alpha 取值为 0 至 1,beta 取值 1-beta,gama 取值为 0,上述公式 就转换为标准的 alpha 混合公式: #include #include int main(int argc, char* argv[]) { IplImage *src1, *src2; src1=cvLoadImage("1.jpg",1); src2=cvLoadImage("2.jpg",1); int x =0; int y =0; int width =100; int height =200; double alpha =0.3; double beta =0.5; cvSetImageROI(src1, cvRect(0,0,width,height));
cvSetImageROI(src2, cvRect(0,0,width,height)); cvAddWeighted(src1, alpha, src2, beta,0.0,src1); cvResetImageROI(src1); cvNamedWindow( "Alpha_blend", 1 ); cvShowImage( "Alpha_blend", src1 ); cvWaitKey(); return 0; }
分享到:
收藏