如何用opencv换一下背景
发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,本篇文章为大家展示了如何用opencv换一下背景,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。进入正题吧,换了新衣服就想换新媳妇,换了名字自然也就想换头像了!
千家信息网最后更新 2024年11月22日如何用opencv换一下背景
本篇文章为大家展示了如何用opencv换一下背景,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
进入正题吧,换了新衣服就想换新媳妇,换了名字自然也就想换头像了!所以我就去找了个opencv的logo,再用PPT配上个字,就有了:
这个绿油油的头像是怎么回事!这颜色着实让我想起了一些不好的事情,所以我想把背景替换成钢铁侠的老爷金那种颜色。
思路就是,首先要把opencv的三个圈圈给抠出来,如下:
注意,上面二值图白色的(255)才是我们真正抠出来的,也就是把背景抠出来当作腌膜。
这一步是关键,也就是图像分割,这副图像很简单,我直接用HSV颜色空间就能分出来,也可以阈值化啊,分水岭等等,各种分割。
Mat srcImage, HSVImage;srcImage = imread("图标.jpg");imshow("原图标", srcImage);cvtColor(srcImage, HSVImage, COLOR_BGR2HSV);//BGR转HSV//基于HSV进行分割抠图Mat binary_Mask;//二值图inRange(HSVImage, Scalar(70, 100, 100), Scalar(115, 255, 255), binary_Mask);//进行二值化imshow("二值图", binary_Mask);
然后再自定义一个背景,就是前文的的老爷金:
//自定义一个背景Mat backImage(srcImage.size(), CV_8UC3, Scalar(65, 168, 214));//老爷金imshow("背景图", backImage);
然后我们把腌膜和新的背景还有原图混合在一起,就OK了:
//将背景,腌膜,原图混合 backImage.copyTo(srcImage, binary_Mask); imshow("结果图", srcImage); imwrite("新头像.jpg", srcImage);
上述内容就是如何用opencv换一下背景,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
背景
就是
老爷
颜色
也就是
内容
原图
图像
图标
头像
技能
知识
混合
简明
简明扼要
三个
不好
事情
关键
分水岭
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
青浦区智能网络技术创新服务
软件开发直接投诉占比大
关系代数查询数据库
服务器运用
人工ai软件开发
hp云服务器
深圳视觉软件开发工程师
软件工程软件开发步骤
校园网络安全架构部署方案
多台主机装在一起的服务器
msql怎么建立数据库
河南服务器不锈钢外壳价格
网络安全常识手抄报内容顺口溜
建立健全作业队伍安全资信数据库
南京软件开发java薪资
zard在哪个服务器
数据库mysql创建表包括主键
软件开发框架及技术是什么意思
网络安全记心间升旗仪式
文件上传到硬盘上还是存在数据库
青浦区方便软件开发报价信息中心
nasa气象数据库租赁费用
阿里云服务器 连接慢
我的世界服务器可以用矿物追踪吗
查数据库表格
湖南创盈网络技术有限公司
软件开发工程师对年龄的要求
服务器域控制
阜阳网络安全工作人员
晨操视频软件开发