python和opencv实现抠图

作者:ncst 时间:2023-12-13 20:43:33 

本文实例为大家分享了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()

来源:https://blog.csdn.net/sinat_32547403/article/details/53611336

标签:python,opencv,抠图
0
投稿

猜你喜欢

  • 用python绘制彩色螺旋线代码

    2023-04-30 15:32:18
  • Python 限定函数参数的类型及默认值方式

    2022-02-14 22:38:00
  • Python pandas如何向excel添加数据

    2021-07-14 17:37:41
  • three.js中文文档学习之创建场景

    2023-08-22 21:02:00
  • 解决django后台管理界面添加中文内容乱码问题

    2023-05-12 21:49:36
  • python OpenCV学习笔记

    2022-12-19 05:39:11
  • python实现简单贪吃蛇小游戏

    2021-12-11 13:59:00
  • python实现简单的飞机大战游戏

    2023-08-28 01:50:50
  • Python从文件中读取数据的方法步骤

    2023-05-05 07:45:32
  • 详解MySQL的Seconds_Behind_Master

    2024-01-18 04:58:00
  • 记录一篇关于redux-saga的基本使用过程

    2023-07-15 16:43:19
  • IE8将是IE的最后一个版本?

    2009-03-12 12:44:00
  • 聊聊Python对CSV文件的读取与写入问题

    2023-09-26 09:42:29
  • 网页设计:巧用记事本编辑网页

    2008-02-05 09:00:00
  • python 实现批量xls文件转csv文件的方法

    2023-08-29 10:25:26
  • vue使用代理解决请求跨域问题详解

    2024-05-10 14:15:33
  • Python基于Faker假数据构造库

    2021-06-05 15:32:19
  • 使用python turtle画高达

    2021-11-05 20:47:48
  • Python如何实现自带HTTP文件传输服务

    2023-01-05 05:04:15
  • Python使用draw类绘制图形示例讲解

    2022-04-06 01:16:31
  • asp之家 网络编程 m.aspxhome.com