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

网站设计网站设计公司价格自己做网站卖衣服

网站设计网站设计公司价格,自己做网站卖衣服,wordpress+组织架构,济南品牌网站建设定制介绍 GrabCut 算法是一种用于图像分割的交互式前景提取技术#xff0c;它结合了图割#xff08;Graph Cut#xff09;方法和迭代优化过程。该算法最初由 Rother, Kolmogorov 和 Blake 在 2004 年提出#xff0c;并因其高效性和准确性而被广泛应用于计算机视觉领域。OpenCV…介绍 GrabCut 算法是一种用于图像分割的交互式前景提取技术它结合了图割Graph Cut方法和迭代优化过程。该算法最初由 Rother, Kolmogorov 和 Blake 在 2004 年提出并因其高效性和准确性而被广泛应用于计算机视觉领域。OpenCV 提供了 cv2.grabCut() 函数来实现这一算法使得开发者可以方便地在应用程序中使用。 GrabCut 算法的基本原理 初始化用户通过绘制矩形或自由手绘的方式标记出大致的前景区域即对象所在的位置同时还可以选择性地标记背景区域。构建图形模型基于用户的输入算法会为每个像素创建一个节点并且在相邻像素之间建立边。这些边的权重反映了像素间的相似度通常基于颜色信息。概率分布估计对于已知的前景和背景区域分别拟合高斯混合模型GMMs, Gaussian Mixture Models用以描述其颜色分布特性。能量函数最小化定义一个能量函数其中包含数据项反映像素与各自GMM之间的匹配程度和平滑项鼓励相邻像素具有相同的标签。然后利用图割算法找到使能量函数最小化的解决方案。迭代改进根据前一次迭代的结果更新GMM参数并重复上述步骤直至收敛或达到预定次数。 理论 GrabCut 算法由英国剑桥微软研究院 Carsten RotherVladimir Kolmogorov和Andrew Blake发明并在他们的论文“GrabCut”使用迭代图切割中提出。该算法需要最少的人工交互做前景提取被称为 GrabCut。 从用户角度来看该算法是如何工作的呢最初用户在前景区域周围绘制一个矩形(该矩形需要完全框住所有的前景区域) 。然后算法对其进行迭代分割得到最佳结果。但在某些情况下分割的不是那么理想比如说它可能把一些前景区域标成了背景或者反过来。如果发生了这样的情况用户需要进行仔细的修正。只要在有错误结果的地方“划一下”就行了。“划一下”基本的意思是说这个区域应该是前景你标记它为背景在下一次迭代中更正它。* 或者如果区域是背景也如此类推。然后再下一次迭代中你就会得到更好的结果。 见下图。第一名球员和足球被包围在一个蓝色矩形中。然后进行一些具有白色笔划表示前景和黑色笔划表示背景的最终修饰。我们得到了一个很好的结果。 那背景会发生什么 用户输入矩形。这个矩形之外的所有东西都将被视为确定的背景这就是之前提到的矩形应该包括所有对象的原因。矩形内的一切都是未知的。类似地任何指定前景和背景的用户输入都被视为硬标签这意味着它们不会在过程中发生变化。计算机根据我们提供的数据进行初始标记。它标记前景和背景像素或硬标记现在使用高斯混合模型GMM来模拟前景和背景。根据我们提供的数据GMM 学习并创建新的像素分布。也就是说未知像素被标记为可能的前景或可能的背景这取决于其在颜色统计方面与其他硬标记像素的关系它就像聚类一样。从该像素分布构建图形。图中的节点是像素。添加了另外两个节点源节点和 Sink 节点。每个前景像素都连接到源节点每个背景像素都连接到 Sink 节点。连接像素到源节点/端节点的边的权重由像素是前景/背景的概率来定义。像素之间的权重由边缘信息或像素相似性定义。如果像素颜色存在较大差异则它们之间的边缘将获得较低的权重。然后使用 mincut 算法来分割图形。它将图形切割成两个分离源节点和汇聚节点具有最小的成本函数。成本函数是被切割边缘的所有权重的总和。切割后连接到 Source 节点的所有像素变为前景连接到 Sink 节点的像素变为背景。该过程一直持续到分类收敛为止。 如下图所示图片提供 GrabCut  演示 现在我们使用 OpenCV 进行抓取算法。 OpenCV 具有此功能 cv.grabCut 。我们将首先看到它的参数 img - 输入图像mask - 这是一个掩膜图像我们指定哪些区域是背景前景或可能的背景/前景等。它由以下标志完成 **cv.GC_BGD  cv.GC_FGD  cv.GC_PR_BGD  cv.GC_PR_FGD**或简单地将 0,1,2,3 传递给图像。rect - 它是一个矩形的坐标包括格式为xywh的前景对象bdgModel  fgdModel - 这些是内部算法使用的数组。您只需创建两个大小为n 1.65的 np.float64 类型零数组。iterCount - 算法运行的迭代次数。模式 - 它应该是 **cv.GC_INIT_WITH_RECT**或 **cv.GC_INIT_WITH_MASK**或合并后决定我们是否正在绘图矩形或最终修饰笔画。 首先让我们看看矩形模式。我们加载图像创建一个类似的蒙版图像。我们创建 fgdModel 和 bgdModel 。我们给出矩形参数。让算法运行 5 次迭代。模式应该是 _cv.GC_INIT_WITH_RECT_因为我们使用的是矩形。然后运行抓取。它修改了蒙版图像。在新的掩模图像中像素将标记有四个标记表示背景/前景如上所述。因此我们修改掩模使得所有 0 像素和 2 像素都被置为 0即背景并且所有 1 像素和 3 像素被置为 1即前景像素。现在我们的最后面具准备好了。只需将其与输入图像相乘即可得到分割后的图像。 import numpy as np import cv2 as cv from matplotlib import pyplot as plt img cv.imread(messi5.jpg) mask np.zeros(img.shape[:2],np.uint8) bgdModel np.zeros((1,65),np.float64) fgdModel np.zeros((1,65),np.float64) rect (50,50,450,290) cv.grabCut(img,mask,rect,bgdModel,fgdModel,5,cv.GC_INIT_WITH_RECT) mask2 np.where((mask2)|(mask0),0,1).astype(uint8) img img*mask2[:,:,np.newaxis] plt.imshow(img),plt.colorbar(),plt.show()结果如下 我们将用 1 像素确定的前景给出一个精细的修饰。与此同时有些地方已经出现了我们不想要的图片还有一些标识。我们需要删除它们。在那里我们提供一些 0 像素的修饰确定背景。因此我们如前所述地调整了结果掩膜。 我实际上做的是在绘画应用程序中打开了输入图像并在图像中添加了另一层。在画中使用画笔工具我在这个新图层上标记了不需要的白色背景如徽标地面等以及黑色的前景头发鞋子球等。然后用灰色填充剩余的背景。然后在 OpenCV 中加载该掩模图像编辑我们在新添加的掩模图像中使用相应值的原始掩模图像。查看以下代码 newmask cv.imread(newmask.png,0) mask[newmask 0] 0 mask[newmask 255] 1 mask, bgdModel, fgdModel cv.grabCut(img,mask,None,bgdModel,fgdModel,5,cv.GC_INIT_WITH_MASK) mask np.where((mask2)|(mask0),0,1).astype(uint8) img img*mask[:,:,np.newaxis] plt.imshow(img),plt.colorbar(),plt.show()看下面的结果 就是这样了。这里不是在 rect 模式下初始化而是直接进入掩膜模式。只需用 2 像素或 3 像素可能的背景/前景标记蒙版图像中的矩形区域。然后像我们在第二个例子中那样用 1 像素标记我们的 sure_foreground。然后直接应用具有掩膜模式的 grabCut 函数。
http://www.tj-hxxt.cn/news/223091.html

相关文章:

  • 福州网络营销网站长沙百姓网招聘
  • 支付网站建设费账务处理广州网站开发 英诺科技
  • 数字营销1+x网站最新网站信息
  • 网站建设wang1314广元建设公司网站
  • 注册网站刀具与钢材范围网站被host重定向处理
  • html5电影网站设计论文网站开发个性化
  • 青县网站建设住房和城乡建设部网站诚信评价
  • 丹东做网站的WordPress固定连接html
  • 5建网站中小企业网络拓扑
  • 企业网站使用不规范地图如何处罚263企业邮箱登录登录入口电脑版
  • 天津建站平台建筑网格化
  • 网络维护公司怎么发展赣州网站优化
  • 拓展公司网站建设国际网站怎么注册免费的
  • 网站建设详细设计高端建筑物图片
  • 免费网站从哪里申请商城网站如何优化
  • 郑州招聘网站推广拟定网络设计方案
  • 巩义网站建设模板如何建单页网站栏目
  • 制作游戏的网站wordpress激活码
  • 河南网站建设37518织梦网站下载地址
  • seo 成功网站企业网站建设推广含义
  • wordpress多语言模板锦州网站seo
  • 营销型网站建设申请域名时公司类型的域名后缀一般是国家信息企业公示网查询官网
  • 网站建设背景图片163网站源码
  • 学做网站论坛第六节谷歌google play官网
  • 邢台网站建设信息沂水做网站
  • 郴州网站制作公司电话手机网站 排版
  • 手机网站制作建设做团购网站多少钱
  • 自己做的视频可以传别的网站去吗工业设计公司名字
  • 网站建设基本流程包括比较不同类型网站栏目设置区别
  • 网站搜索引擎提交网站开发 开票