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中请使用isinstance()判断变量类型
Aug 25 Python
Python中的包和模块实例
Nov 22 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
解决Python运行文件出现out of memory框的问题
Dec 03 Python
python实现网页自动签到功能
Jan 21 Python
Python中常用的内置方法
Jan 28 Python
django 自定义过滤器的实现
Feb 26 Python
Python 监测文件是否更新的方法
Jun 10 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 Python
python实现取余操作的简单实例
Aug 16 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
页面乱码问题的根源及其分析
2013/08/09 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
实例讲解php实现多线程
2019/01/27 PHP
Laravel项目中timeAgo字段语言转换的改善方法示例
2019/09/16 PHP
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
使用Python构造hive insert语句说明
2020/06/06 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
python实现感知机模型的示例
2020/09/30 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
上党课的心得体会
2014/09/02 职场文书
2016新年问候语大全
2015/11/11 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
详解Redis复制原理
2021/06/04 Redis
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
Java数组详细介绍及相关工具类
2022/04/14 Java/Android