当前位置: 首页 > news >正文

最强的手机网站建设wordpress lay

最强的手机网站建设,wordpress lay,建设部网站公示公告安全,WordPress托管如果使用插件一、说明 我想,任何人都可以尝试从图像中删除背景。当然,有大量可用的软件或工具能够做到这一点,但其中一些可能很昂贵。但是,我知道有人使用窗口绘画3D魔术选择或PowerPoint背景去除来删除背景。 如果您是计算机视觉领域的初学者…

一、说明

        我想,任何人都可以尝试从图像中删除背景。当然,有大量可用的软件或工具能够做到这一点,但其中一些可能很昂贵。但是,我知道有人使用窗口绘画3D魔术选择或PowerPoint背景去除来删除背景。
        如果您是计算机视觉领域的初学者,这可能适合您。让我们马上开始吧!哦,没有使用太多代码...

二、GrabCut 介绍

        GrabCut 是一种计算机视觉算法,用于从图像中提取对象。因为它并不总是第一次工作,所以交互式GrabCut允许用户指示如何提高输出。在网络上,有几个GrabCut实现;有些只在Python中运行(没有Web界面),而另一些则不是交互式的。

2.1 使用GrabCut的过程是什么?

 1. 用户进入矩形。此矩形之外的所有内容都将被视为背景。矩形内的一切都是一个谜。

2.算法标记前景和背景中的像素(或硬标记)

3. 然后使用高斯混合模型 (GMM) 对前景和背景进行建模。

4. GMM根据我们提供的数据学习并创建新的像素分布。换句话说,未知像素根据它们与其他硬标记像素的颜色统计关系被标记为可能的前景或可能的背景(就像聚类一样)。

5. 此像素分布用于创建图形。像素是图形中的节点。添加了两个新节点:“源”节点和“接收器”节点。每个前景像素都链接到一个源节点。

信用 researchgate.net

2.2 如何使用GrabCut的包

2.2.1 第 1 步:导入必要的包

        首先,我们必须导入必要的包并覆盖我们的 matplotlib 函数。

        代码片段:

import cv2
import dlib
import sys
import numpy as np
from tkinter import filedialog
from matplotlib import pyplot as pltdef imshow(title = "Image", image = None, size = 10):w, h = image.shape[0], image.shape[1]aspect_ratio = w/hplt.figure(figsize=(size * aspect_ratio,size))plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))plt.title(title)plt.show() 

2.2.2 第 2 步:选择投资回报率函数

        我们可以使用此 OpenCV 方法从图片中仔细手动选择我们需要的感兴趣区域。

        原始照片

致谢 Eskipaper.com

img = r"C:\Users\jinzh\Desktop\Project\Python\python-opencv\lovely-girl-background-1.jpg"image = cv2.imread(img)
copy = image.copy()
# Create a mask (of zeros uint8 datatype) that is the same size (width, height) as our original image 
mask = np.zeros(image.shape[:2], np.uint8)bgdModel = np.zeros((1,65), np.float64)
fgdModel = np.zeros((1,65), np.float64)x, y , w, h = cv2.selectROI("select the area", image)start = (x, y)
end = (x + w, y + h)rect = (x, y , w, h)
cv2.rectangle(copy, start, end, (0,0,255), 3)
imshow("Input Image", copy) 

输出

生成自 Jupyter Notebook(作者)

2.2.3 第 3 部分 抓取切割算法算法:

抓取参数

1. img — 输入图像

2. 蒙版 — 这是一个蒙版图像,用于指定哪些部分是背景、前景或可能的背景/前景等。标志cv.GC_BGD、cv.GC_FGD、cv.GC_PR_BGD、cv.GC_PR_FGD,或者只是传递 0,1,2,3 以映像完成此操作。

3. rect — 在格式中,它是包含前景对象 (x,y,w,h) 的矩形的坐标

4. bdgModel 和 fgdModel — 由算法在内部使用。你只需要创建两个 np.float64 类型的零数组,每个数组的大小为 np.float64 (1,65)。

5. iterCount — 算法应运行的迭代次数。

6. mode — 这应该是cv.GC_INIT_WITH_RECT的、cv.GC_INIT_WITH_MASK的或混合的,这取决于我们是在绘制矩形还是画龙点滴。

cv2.grabCut(image, mask, rect, bgdModel, fgdModel, 100, cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask==2)|(mask==0),0,1).astype('uint8')
image = image * mask2[:,:,np.newaxis]imshow("Mask", mask * 80)
imshow("Mask2", mask2 * 255)
imshow("Image", image) 

解释

1. 运行算法 5 次迭代。因为我们使用的是矩形,所以模式应该是cv.GC_INIT_WITH_RECT的。

2.遮罩图像由Grabcut修改。

3. 如上所述,新蒙版图像中的像素将标有四个标志,表示背景/前景。

4.因此,我们更改了蒙版,使所有0和2像素都设置为0(背景),所有1和3像素都设置为1。(即前景像素)。

5. 我们最后一个面具现在已经完成。要获得分割的图像,只需将其乘以输入图像即可。

输出

生成自 Jupyter Notebook(作者)

你。我们终于能够删除背景。

三、参考和引用

  1. "GrabCut" | ACM SIGGRAPH 2004 Papers
  2. OpenCV: Interactive Foreground Extraction using GrabCut Algorithm
http://www.yayakq.cn/news/492501/

相关文章:

  • 怎么样做自己的网站重庆做网站代运营
  • 定西做网站网站优化主要怎么做
  • 瓷砖 中企动力 网站建设惠州seo博客
  • 河北黄骅市网站建设wordpress问题
  • 加快政务网站建设站长工具seo综合查询张家界新娘
  • 昆明云南微网站搭建百度加盟
  • 做视频课程的网站有哪些网站建设 百科
  • 阿里云免费建站大数据查询个人信息
  • 南京网站建设哪里好代理公司注册流程
  • 重庆网站建设帝维科技wordpress 前台打不开
  • 成都大丰网站建设如何让一个网站排名掉
  • 网站建设性能分析校园网站建设管理制度
  • 电力大学临港校区建设网站字体模板素材免费下载网站
  • 哈尔滨自助建站平台钻石网站建设
  • 吴忠网站建设嘉兴seo网络推广
  • 网站优化技巧网站上做镜像是什么意思
  • 小程序怎么做优惠券网站网站主体负责人能查询到吗
  • 八亿免费建站做网站设计注意什么细节
  • 做教程网站如何查用户搜索全球搜索引擎排名2022
  • 苏州做淘宝网站郑州治疗精神病哪家好
  • 安徽平台网站建设哪里好外置硬盘可以做网站访问
  • 写作网站招聘自己想弄个平台怎么弄
  • 做外贸的国际网站有哪些内容个人主页图
  • 网站集群建设中标深圳公司广告片制作
  • 婚纱网站页面设计图片海南网站开发公司
  • 口碑好的常州网站建设南宁市网站维护与推广公司
  • 开个公司大概需要多少钱嘉兴网站排名优化报
  • html5手机网站开发框架wordpress 获取页面标题
  • 虚拟主机怎么发布网站广州安全教育平台入口登录
  • 网站首页导航代码自己做网站模版