本文实例为大家分享了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和opencv实现抠图

本文地址: http://www.cppcns.com/jiaoben/python/234875.html

python实现抠图_python和opencv实现抠图相关推荐

  1. python抠图_python和opencv实现抠图

    本文实例为大家分享了python实现抠图的具体代码,供大家参考,具体内容如下 其中使用了opencv中的grabcut方法 直接上代码 # encoding:utf-8 # 图像提取 # create ...

  2. python鼠标绘图_python 基于opencv 实现一个鼠标绘图小程序

    需求 在画布上用鼠标画图,可以画圆或矩形,按m键在两种模式下切换.左键按下时开始画图,移动到哪儿画到哪儿,左键释放时结束画图. 实现思想 用鼠标画图:需要定义鼠标的回调函数mouse_event 画圆 ...

  3. python图片切面_python 利用opencv进行图片切割

    自学opencv也有十几天了,一直练习教程上面的例子总感觉不够,刚好碰到一个老师出的数学建模题涉及图片处理兴趣立马上来,决定利用所学的解决这个建模题 下面是数学建模题: 最强大脑 近期,江苏卫视正在热 ...

  4. python解码图片_python的opencv读取解码的base64图片失败

    问题描述 js利用canvas.toDataURL("image/png")将canvas元素转化为base64的图片编码. python获取base64编码并解码并且保存为图片储 ...

  5. python图像几何变换_Python 图像处理 OpenCV (5):图像的几何变换

    前文传送门: 图像缩放 图像缩放只是调整图像的大小,为此, OpenCV 为我们提供了一个函数 cv.resize() ,原函数如下: resize(src, dsize, dst=None, fx= ...

  6. python 去除水印_python 利用opencv去除图片水印

    $(function () { changeIndReadCommentStyle(); //返回顶部 $('#back-to-top').click(function (e) { $('html,b ...

  7. python写透视挂_python环境opencv实现透视变化的方法

    1)构建4个点的矩阵 ,注意:透视变换需要4个点 至少三个不共线. 2)透视变换要3x3变换矩阵. 转换后直线是直线. 3)变换矩阵,输入要4个点,输出图像上需要相应的点. picSrc = np.f ...

  8. python 高斯金字塔_python实现opencv学习十五:高斯金字塔和拉普拉斯金字塔

    要求:拉普拉斯金字塔时,图像大小必须是2的n次方*2的n次方,不然会报错 代码如下: # -*- coding=GBK -*- import cv2 as cv #高斯金字塔 def pyramid_ ...

  9. python抠透明图_python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图

    因为最近在做深度学习抠图,正好要用到蒙版进行抠图,所以我将抠图代码进行了封装注释,可以直接使用.可能走了弯路,若有高见请一定提出! 主要代码 import cv2 from PIL import Im ...

  10. python自动抠头像图_Python实现AI自动抠图实例解析

    一.简介 抠图是用PS? 用魔棒和快速选择工具? 遇到复杂背景怎么办? 最近发现一个神奇的工具--Remove Image Background 它是基于Python.Ruby和深度学习技术开发,通过 ...

最新文章

  1. 给你一个团队怎么带?抓住3要点,别做13件事,没人敢不服你
  2. 微信支付报错:app没有获取微信支付权限
  3. 关于addEventListener和attachEvent的初步探讨
  4. libgdx 1.4.1公布
  5. Nginx 代理转发阿里云OSS上传的实现代码
  6. ToString() 会发生装箱吗?
  7. [你必须知道的.NET]第十三回:从Hello, world开始认识IL
  8. finally代码块
  9. js中 json详解
  10. 前端学习(2453):项目初始化
  11. 图像处理-空间域平滑滤波
  12. 应聘c语言面试试题,c语言面试最必考的十道试题,求职必看!!!
  13. java懒汉,[Java教程]java 懒汉式
  14. 【Asp.Net Core】在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
  15. 1、CSS height 属性,2、Flex 布局教程:实例篇,3、CSS 链接,4、CSS display 属性,5、表格,
  16. 利用ansys计算机械结构最小安全系数教程,利用ANSYS计算复杂薄壁杆件截面特性.pdf...
  17. 桥接模式和NAT模式的区别
  18. 2 万字 + 30 张图 |MySQL 日志:undo log、redo log、binlog 有什么用?
  19. 百度云下载不限速方法+软件
  20. 概率论与数理统计-----随机试验与随机事件、样本空间、事件集合表示

热门文章

  1. 牛客小白月赛5-E-面积(area)(波尔约-格维也定理+皮克公式)
  2. java一元二次方程用if_用javascript写一个求一元二次方程的页面 用JAVA写一个求解一元二次方程的类...
  3. 《新时代的中国青年》白皮书——一个90后的自白
  4. 架构思维成长系列教程(八)- 电商供应链系统架构设计
  5. 物联网应用技术有哪些?
  6. 【springboot短信收发】
  7. U盘硬盘文件提示“文件或目录损坏且无法读取”问题解决
  8. 7-2 求交错序列前N项和 (10 分)
  9. 随着稻香河流继续奔跑 ——致2016
  10. 程序猿 C语言入门 颈椎,【计时器小工具】70行代码让你远离颈椎病,致所有的程序猿们...