如何用opencv换一下背景
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇文章为大家展示了如何用opencv换一下背景,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。进入正题吧,换了新衣服就想换新媳妇,换了名字自然也就想换头像了!
千家信息网最后更新 2025年01月24日如何用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安全错误
数据库的锁怎样保障安全
软件开发需求最多的岗位
中国的网络安全厂商
招商银行app服务器异常
vb怎么修改sql数据库
衢州抱朴网络技术工作室
学软件开发女生做什么
山东互联网软件开发正规平台
数据库多表逗号链接
服务器靶标建设
游戏服务器哪家好
江苏极信互联网科技有限公司
平面设计和网络技术贴吧
网络安全在警队
软件开发纠纷起诉时效
视频网络安全教育
今日头条网络安全概念股
朝阳盘古网络技术有限公司电话
php 按行读取数据库
生鲜软件开发哪家专业
合肥卡斯里网络技术
杭州银行软件开发面试题
杭州佳飞网络技术有限公司电话
赛迪顾问网络安全会议
扣扣软件开发多少钱
小程序可以看内网服务器吗
计算机二级数据库考纲
基建网络安全卫士通
进口软件开发市场
网络安全大赛总决赛结果
开展校园网络安全活动工作总结