Opencv实现抠图背景图替换功能


Posted in Python onMay 21, 2019

本文实例为大家分享了Opencv实现抠图替换背景图的具体代码,供大家参考,具体内容如下

下面简单图片演示一下:

提取mask:

Opencv实现抠图背景图替换功能===>Opencv实现抠图背景图替换功能

替换背景:

Opencv实现抠图背景图替换功能 + Opencv实现抠图背景图替换功能=Opencv实现抠图背景图替换功能

python的opencv代码如下:

# coding=utf-8
 
import cv2
import numpy as np
 
img=cv2.imread('lp.jpg')
img_back=cv2.imread('back.jpg')
#日常缩放
rows,cols,channels = img_back.shape
img_back=cv2.resize(img_back,None,fx=0.7,fy=0.7)
cv2.imshow('img_back',img_back)
 
rows,cols,channels = img.shape
img=cv2.resize(img,None,fx=0.4,fy=0.4)
cv2.imshow('img',img)
rows,cols,channels = img.shape#rows,cols最后一定要是前景图片的,后面遍历图片需要用到
 
#转换hsv
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
#获取mask
lower_blue=np.array([78,43,46])
upper_blue=np.array([110,255,255])
mask = cv2.inRange(hsv, lower_blue, upper_blue)
cv2.imshow('Mask', mask)
 
#腐蚀膨胀
erode=cv2.erode(mask,None,iterations=1)
cv2.imshow('erode',erode)
dilate=cv2.dilate(erode,None,iterations=1)
cv2.imshow('dilate',dilate)
 
#遍历替换
center=[50,50]#在新背景图片中的位置
for i in range(rows):
 for j in range(cols):
 if dilate[i,j]==0:#0代表黑色的点
  img_back[center[0]+i,center[1]+j]=img[i,j]#此处替换颜色,为BGR通道
cv2.imshow('res',img_back)
 
cv2.waitKey(0)
cv2.destroyAllWindows()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python version 2.7 required, which was not found in the registry
Aug 26 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
Python同时向控制台和文件输出日志logging的方法
May 26 Python
Ubuntu下安装PyV8
Mar 13 Python
Python的socket模块源码中的一些实现要点分析
Jun 06 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
Python使用sklearn实现的各种回归算法示例
Jul 04 Python
Django组件content-type使用方法详解
Jul 19 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
Python日志器使用方法及原理解析
Sep 27 Python
python利用faker库批量生成测试数据
Oct 15 Python
python多进程读图提取特征存npy
May 21 #Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 #Python
python+selenium实现简历自动刷新的示例代码
May 20 #Python
图文详解python安装Scrapy框架步骤
May 20 #Python
Python配置虚拟环境图文步骤
May 20 #Python
Python检测数据类型的方法总结
May 20 #Python
Python中的引用知识点总结
May 20 #Python
You might like
极典R601SW收音机
2021/03/02 无线电
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
橄榄树药房:OLIVEDA
2019/09/01 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
促销活动策划方案
2014/01/12 职场文书
庆八一活动方案
2014/01/25 职场文书
软件售后服务方案
2014/05/29 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
任长霞观后感
2015/06/16 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL
Win11应用商店打开闪退怎么解决? win11应用商店打不开的多种解决办法
2022/04/05 数码科技