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制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
Python实现统计代码行的方法分析
Jul 12 Python
浅谈numpy库的常用基本操作方法
Jan 09 Python
python多行字符串拼接使用小括号的方法
Mar 19 Python
pyqt5 实现多窗口跳转的方法
Jun 19 Python
python中对数据进行各种排序的方法
Jul 02 Python
django多文件上传,form提交,多对多外键保存的实例
Aug 06 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
python 制作网站小说下载器
Feb 20 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中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
HTML上传控件取消选择
2013/03/06 Javascript
多次注册事件会导致一个事件被触发多次的解决方法
2013/08/12 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
python3.0 字典key排序
2008/12/24 Python
python 字符串split的用法分享
2013/03/23 Python
python双向链表实现实例代码
2013/11/21 Python
python连接mysql调用存储过程示例
2014/03/05 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
给领导的致歉信范文
2014/01/13 职场文书
群众路线剖析材料
2014/02/02 职场文书
联片教研活动总结
2014/07/01 职场文书
2014年药房工作总结
2014/11/22 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
高一军训口号
2015/12/25 职场文书
PHP中->和=>的意思
2021/03/31 PHP