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文本相似性计算之编辑距离详解
Nov 28 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
python操作文件的参数整理
Jun 11 Python
python协程gevent案例 爬取斗鱼图片过程解析
Aug 27 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
pytorch载入预训练模型后,实现训练指定层
Jan 06 Python
Python跑循环时内存泄露的解决方法
Jan 13 Python
python numpy--数组的组合和分割实例
Feb 24 Python
Python GUI库PyQt5样式QSS子控件介绍
Feb 25 Python
Python小白垃圾回收机制入门
Jun 09 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 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实现mysql同步的实现方法
2009/10/21 PHP
php curl 上传文件代码实例
2015/04/27 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
关于PHP内置的字符串处理函数详解
2017/02/04 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
this和执行上下文实现代码
2010/07/01 Javascript
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
javascript实现当前页导航激活的方法
2015/02/27 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
简述JS控制台的使用
2018/07/15 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
vue实现评论列表功能
2019/10/25 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
mac下如何将python2.7改为python3
2018/07/13 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
Shein英国:女性时尚网上商店
2019/04/10 全球购物
个人应聘自我评价分享
2013/11/18 职场文书
社团活动总结格式
2014/08/29 职场文书
机关作风建设工作总结
2014/10/23 职场文书
药店营业员岗位职责
2015/04/14 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
Python PIL按比例裁剪图片
2022/05/11 Python