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 解析html之BeautifulSoup
Jul 07 Python
python使用range函数计算一组数和的方法
May 07 Python
python中星号变量的几种特殊用法
Sep 07 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
python列表使用实现名字管理系统
Jan 30 Python
Python 编程速成(推荐)
Apr 15 Python
远程部署工具Fabric详解(支持Python3)
Jul 04 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
解决django model修改添加字段报错的问题
Nov 18 Python
教你如何使用Python Tkinter库制作记事本
Jun 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
php实现的ping端口函数实例
2014/11/12 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
2018/09/26 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
python实现简单图书管理系统
2019/11/22 Python
什么是Python包的循环导入
2020/09/08 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
项目工作说明书
2014/07/29 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
原告代理词范文
2015/05/25 职场文书
《穷人》教学反思
2016/02/19 职场文书
python实现简单的三子棋游戏
2022/04/28 Python