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实现控制台进度条功能
Jan 04 Python
Python判断某个用户对某个文件的权限
Oct 13 Python
Python实现Linux中的du命令
Jun 12 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
Python 静态方法和类方法实例分析
Nov 21 Python
python logging.info在终端没输出的解决
May 12 Python
使用Python操作MySQL的小技巧
Sep 10 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
教你用python控制安卓手机
May 13 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中curl_multi的应用
2013/07/17 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
2017/04/03 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
Angular 常用指令实例总结整理
2016/12/13 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
Python入门篇之文件
2014/10/20 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
黄继光的英雄事迹材料
2014/02/13 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
生日庆典策划方案
2014/06/02 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
入党个人总结范文
2015/03/02 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
关于车尾的标语大全
2015/08/11 职场文书
Go语言编译原理之源码调试
2022/08/05 Golang
js 实现验证码输入框示例详解
2022/09/23 Javascript