适用jpg图片的叠加

void mergeImage(cv::Mat &img1, cv::Mat img2, int x, int y)
{if(x < 0 || y < 0)return;cv::Mat img;img = img1(cv::Rect(x, y, img2.cols, img2.rows));addWeighted(img, 0, img2, 1, 0.0, img);
}

可适用透明png图片的叠加

void overlayImage(const cv::Mat &background, const cv::Mat &foreground,cv::Mat &output, cv::Point2i location)
{background.copyTo(output);// start at the row indicated by location, or at row 0 if location.y is negative.for(int y = std::max(location.y , 0); y < background.rows; ++y){int fY = y - location.y; // because of the translation// we are done of we have processed all rows of the foreground image.if(fY >= foreground.rows)break;// start at the column indicated by location,// or at column 0 if location.x is negative.for(int x = std::max(location.x, 0); x < background.cols; ++x){int fX = x - location.x; // because of the translation.// we are done with this row if the column is outside of the foreground image.if(fX >= foreground.cols)break;// determine the opacity of the foregrond pixel, using its fourth (alpha) channel.double opacity =((double)foreground.data[fY * foreground.step + fX * foreground.channels() + 3])/ 255.;// and now combine the background and foreground pixel, using the opacity,// but only if opacity > 0.for(int c = 0; opacity > 0 && c < output.channels(); ++c){unsigned char foregroundPx =foreground.data[fY * foreground.step + fX * foreground.channels() + c];unsigned char backgroundPx =background.data[y * background.step + x * background.channels() + c];output.data[y*output.step + output.channels()*x + c] =backgroundPx * (1.-opacity) + foregroundPx * opacity;}}}
}

用法:

cv::Mat img; //从外部读取的一张图片
cv::Mat face = cv::imread("D:\\meng.png", CV_LOAD_IMAGE_UNCHANGED);
//mergeImage(img,face,x, y); png透明图片会出错
overlayImage(img,face,img,cv::Point(x, y));cv::imwrite("D:\\addface.bmp", img);

cv::Mat两张图片的叠加方法相关推荐

  1. Matlab中实现两张图片的叠加显示效果

    Matlab中实现两张图片的叠加显示效果 1.相同大小图片的叠加显示 2.不同大小图片的叠加显示 ** 在matlab中以50%透明度实现两张图图片的叠加显示,图片的大小可以任意设置,不同大小的图片, ...

  2. canvas图片绘制-两张图片的叠加

    效果 完整代码 <body><canvas id="canvas" width="800" height="800"> ...

  3. cv::Mat初识和它的六种创建方法

    cv::Mat 初识   Opencv种的Mat类,使得Opencv的编程更加的简单,程序员不用过多的去关注内存管理,并且发现Opencv的编程有点像不需要太多编程技术的Matlab一样,甚至有些函数 ...

  4. html5如何让多张图片重叠,css怎么让两张图片重叠?

    css怎么让两张图片重叠?下面本篇文章给大家介绍一下使用CSS让两张图片重叠的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. css怎么让两张图片重叠? 想要使用css把两个图 ...

  5. html盒子两个背景图片,css怎么实现两张图片叠加在一起,css添加盒子背景图片

    css怎么实现两张图片叠加在一起CSS怎么实现了两张图片的叠加,Css实现了两张图片叠加在一起的方法:可以通过分别设置div与页面左边缘的距离和div与页面上边缘的距离来实现.需要注意的是,两张图片都 ...

  6. 两个图片叠加在一起css,css两张图片怎么叠加在一起?

    css实现两张图片叠加在一起的方法:首先添加2个img标签:然后设置它们的css样式为position:absolute:最后设置其中一个img样式为left:120px即可看见效果. 使用css把两 ...

  7. html 图片能重叠吗,css两张图片怎么叠加在一起?

    1.新建一个html文件,命名为test.html,用于讲解css怎么把两个图片叠加在一起. Document 2.新建两个div,一个是class属性为a的div,另一个是class属性为b的div ...

  8. html两张图重叠效果,css两张图片怎么叠加在一起?

    使用css把两个图片叠加,可以通过position定位属性设置两张图片的位置来实现叠加效果.下面介绍css怎么把两个图片叠加在一起.希望对各位有帮助! 1.新建一个html文件,命名为test.htm ...

  9. css将两张图片叠加(简易方法)

    @开启博客之旅,记录生活 css将两张图片叠加 本质上的原理其实是,一个作为背景图片,另一个作为DOM节点元素添加进去.这是我本人的第一篇正式博客,我觉得,现在分享学习到的知识还不晚.刮风了,待会去吃 ...

最新文章

  1. 我拷贝大文件的时候报“超过文件大小限制”错误,怎样突破这个限制?
  2. C#调用C++写的Dll时的运行时错误解决
  3. ubuntu18.04安装VCS+verdi错误集锦
  4. 2.1.4 进程通信
  5. VTK:图片之ImageCityBlockDistance
  6. JS 循环遍历 总结
  7. 8 传输层----TCP
  8. android电视接跳舞毯,跳舞毯怎么连接电视 跳舞毯怎么玩
  9. 电气技术与计算机技术结合,探析计算机与电气自动化技术有机结合.doc
  10. ArcGIS桌面构建三维地质体模型
  11. 使用JS判断日期的有效性
  12. 种子信息服务器,老司机揭秘:“种子”的前世今生
  13. 【烈日炎炎战后端】Elecsticsearch(1.5万字)
  14. 直击痛点!有讲究的品质生活好物件,不再让你“家徒四壁”...丨钛空舱
  15. 无埋点实现监测的真相——革新还是噱头?-Sidney Song
  16. win7 如何卸载mysql_Win7如何彻底卸载sql2005?
  17. Python适合零基础入门吗?零基础学 Python 有什么建议?
  18. 聋校计算机教材教法培训Ppt,教材教法培训.ppt
  19. 网上订餐系统项目实战
  20. DAVINCI DM3730开发攻略——DVSDK4_03和双核CODEC机制介绍

热门文章

  1. 手把手教你快速创建一个超高性价比弹性云服务器
  2. java将excel转成json_Java实现excel表格转成json的方法
  3. 28.Oracle深度学习笔记——ORACLE自带DBMS函数包
  4. quartz表达式cron_测试Quartz Cron表达式
  5. 我的世界java版启动失败或闪退_我的世界无法正常启动、崩溃(Crash)等常见问题...
  6. html5 video微信浏览器视频不能自动播放
  7. Python 实现四边形分割:用 Python 切割图片
  8. 聊聊自动驾驶必须解决哪些感知问题?交通标志识别技术详解
  9. oracle表中增加字段 sql语句,ORACLE中通过SQL语句(alter table)来增加、删除、修改字段...
  10. 古代智慧与当代爱情 之 《仲夏夜之梦》