python和opencv实现抠图


Posted in Python onJuly 18, 2018

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

其中使用了opencv中的grabcut方法

直接上代码

# encoding:utf-8
# 图像提取
# create by 
 
import numpy as np
import cv2
from matplotlib import pyplot as plt
 
img = cv2.imread('1.jpg')
mask = np.zeros(img.shape[:2], np.uint8)
 
bgdModel = np.zeros((1, 65), np.float64)
fgdModel = np.zeros((1, 65), np.float64)
 
rect = (20, 20, 413, 591)
cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 10, cv2.GC_INIT_WITH_RECT)
 
mask2 = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8')
img = img * mask2[:, :, np.newaxis]
img += 255 * (1 - cv2.cvtColor(mask2, cv2.COLOR_GRAY2BGR))
# plt.imshow(img)
# plt.show()
img = np.array(img)
mean = np.mean(img)
img = img - mean
img = img * 0.9 + mean * 0.9
img /= 255
plt.imshow(img)
plt.show()

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

Python 相关文章推荐
python封装对象实现时间效果
Apr 23 Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
pandas重新生成索引的方法
Nov 06 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 Python
Python秒算24点实现及原理详解
Jul 29 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
python文字转语音实现过程解析
Nov 12 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
python读取mnist数据集方法案例详解
Sep 04 Python
Selenium浏览器自动化如何上传文件
Apr 06 Python
Python错误处理操作示例
Jul 18 #Python
Python内存读写操作示例
Jul 18 #Python
NumPy 数学函数及代数运算的实现代码
Jul 18 #Python
Sanic框架应用部署方法详解
Jul 18 #Python
Python Web编程之WSGI协议简介
Jul 18 #Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 #Python
详解flask入门模板引擎
Jul 18 #Python
You might like
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
thinkPHP5.0框架应用请求生命周期分析
2017/03/25 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
Prototype Class对象学习
2009/07/19 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
python抓取百度首页的方法
2015/05/19 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
Python表达式的优先级详解
2020/02/18 Python
详解Django配置JWT认证方式
2020/05/09 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
瀑布模型都有哪些优缺点
2014/06/23 面试题
蓬莱阁导游词
2015/02/04 职场文书
员工开除通知书
2015/04/25 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
老舍《猫》教学反思
2016/02/17 职场文书