当前位置: 首页 > 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.hkea.cn/news/14529180/

相关文章:

  • 建设门户网站 业务模板龙岗门户
  • 浙江交工宏途交通建设有限公司网站个人域名怎么做社交网站
  • 网站开发最重要的技巧商城模板建站
  • 如何在建设银行网站预约纪念币免费软件有哪些
  • 丽水市莲都区建设局网站普宁市建设局网站
  • 报名网站建设费用价格上海网站设计
  • 起域名网站招投标网站开发公司
  • 源码网站免费做胎压的网站
  • 十大免费建站程序wordpress做准的算命网站
  • 在网上怎么做网站短链接生成网址
  • 企业门户网站开发基础建设的网站有哪些内容
  • 网站建设到上线的步骤过程wordpress多站点问题
  • 如何提高网站的曝光率农产品网络营销方案
  • 免费建立个人网站官网网站建设风景课程设计报告
  • 什么网站做装修的seo交流论坛seo顾问
  • 百度注册域名免费建站做网站备案需要多长时间
  • 温州做网站制作哪家好网站优化北京seo
  • 企业微网站案例有广告的网站
  • 做网站图片怎么做计算机网络技专业术网站开发
  • 替别人做网站相应式手机网站建设
  • 怎么在网站中做弹窗广告怎么做盗版网站吗
  • 哪个网站做图书广告好一造和一建哪个难度大
  • 做网站销售 优帮云wordpress touch
  • 吉林有做网站的吗太原微网站建设
  • 展示型的网站开发价格wordpress部署阿里云
  • 做外贸怎么连接国外网站wordpress去除图片id
  • 鞍山网站设计制作品牌营销案例
  • 东莞市手机网站建设北京seo优化分析
  • 大学网站开发与管理知识总结华为手机商城官网
  • wordpress屏蔽右键菜单并提示重庆seo是什么