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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python的加密模块md5、sha、crypt使用实例
Sep 28 Python
python中zip和unzip数据的方法
May 27 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
python 读取摄像头数据并保存的实例
Aug 03 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
浅谈python出错时traceback的解读
Jul 15 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 Python
分享python函数常见关键字
Apr 26 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运行环境配置的详解
2013/06/04 PHP
php集成动态口令认证
2016/07/21 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
jquery ready函数源代码研究
2009/12/06 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python Tkinter简单布局实例教程
2014/09/03 Python
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
python实现ping命令小程序
2020/12/28 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
自愿解除劳动合同协议书
2014/09/11 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
请假条应该怎么写?
2019/06/24 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
MySQL数据管理操作示例讲解
2022/12/24 MySQL