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

合肥网站建设 卫来科技申请网页域名

合肥网站建设 卫来科技,申请网页域名,兰州移动端网站建设,网页设计公司网站【youcans 的 OpenCV 例程200篇】176.图像分割之均值漂移算法 【youcans 的 OpenCV 例程200篇】177.图像分割之 GraphCuts 图割法 【youcans 的 OpenCV 例程200篇】178.图像分割之 GrabCut 图割法#xff08;框选前景#xff09; 【youcans 的 OpenCV 例程200篇】179.图像分割… 【youcans 的 OpenCV 例程200篇】176.图像分割之均值漂移算法 【youcans 的 OpenCV 例程200篇】177.图像分割之 GraphCuts 图割法 【youcans 的 OpenCV 例程200篇】178.图像分割之 GrabCut 图割法框选前景 【youcans 的 OpenCV 例程200篇】179.图像分割之 GrabCut 图割法掩模图像 更多内容请见 【OpenCV 例程200篇 总目录-202206更新】 【youcans 的 OpenCV 例程200篇】178.图像分割之 GrabCut 图割法框选前景 6. 图像分割之图割法 基于图论的图像分割技术的基本思想是将图像映射为带权的无向图把像素视为节点两个节点之间的边的权重对应于两个像素之间相似性的度量割的容量就对应于能量函数使用最大流最小割算法对图进行切割得到的最小割就对应于最优图像分割。 6.3 图割分割算法 GrabCut GrabCut 算法是对 GraphCut 的改进使用高斯混合模型GMM对背景和目标建立模型采用迭代方法实现分割能量的最小化同时支持不完整的标记。 GrabCut 算法有效利用了图像中的纹理颜色信息和边界反差信息只需要要少量的人工交互操作就可以对目标实现较好的分割效果。 GrabCut 与 GraphCut 的区别主要是 1GraphCut 中目标和背景模型是基于灰度直方图GrabCut 中使用三通道混合高斯模型GMM 取代 2GraphCut 中直接求解能量最小化分割GrabCut 采用不断进行分割估计和模型参数学习的交互迭代过程 3GraphCut 需要用户指定目标和背景的一些种子点而 GrabCut 只要框选目标来提供背景区域的像素集即允许不完全的标注incomplete labelling。 GrabCut 的优点是 1交互简单只要在目标外面画一个框来框选目标就可以实现良好的分割效果 2如果增加用户交互指定一些属于目标的像素可以得到更好的分割效果 3Border Matting 技术使目标分割边界更加自然和完美。 GrabCut算法的工作原理是 1指定图像中包含分割目标的矩形边界框矩形框以外的区域被认为是“确定背景”。 2根据矩形框外部的“确定背景”的数据来划分矩形框区域内的前景和背景。 3用高斯混合模型Gaussians Mixture Model对前景和背景建模估计前景和背景的颜色分布。 4根据像素分布生成带有前景节点和背景节点的连通图Graph每个像素连接到前景节点或背景节点的边的权重由像素是前景或背景的概率来决定。 5图像分割问题转换为图割问题使用最大流最小割算法对图进行切割。 6重复上述过程直至达到收敛条件或迭代次数。 OpenCV 也提供了函数 cv.grabCut 实现 GrabCut 图割算法。 函数说明 cv.grabCut(img, mask, rect, bgdModel, fgdModel, iterCount[, modeGC_EVAL]) → mask, bgdModel, fgdModel 参数说明 image输入图像8-bit/3-channel 彩色图像mask输入/输出掩模8-bit 单通道图像如边界框选则自动产生掩模图像rect包含分割对象的边框矩形格式为 (x,y,w,h)仅在 mode 为 cv2.GC_INIT_WITH_MASK 时适用bgdModel建模背景使用的临时数组形状为 (1,65) 的 np.float 数组fgdModel建模前景时使用的临时数组形状为 (1,65) 的 np.float 数组iterCount迭代次数mode操作模式 cv.GC_INIT_WITH_RECT使用边界矩形初始化状态和掩模图像运行迭代算法cv.GC_INIT_WITH_MASK使用提供的掩模图像进行状态初始化cv.GC_EVAL表示算法应该恢复cv.GC_EVAL_FREEZE_MODEL用固定模型执行一次迭代算法 OpenCV 的 GrabCut 返回一个3元组 (mask, bgdModel, fgdModel) mask 应用GrabCut后的输出掩模bgModel 用于建模背景的临时数组(可以忽略此值)fgModel 用于建模前景的临时数组(同样你可以忽略此值) 注意事项 OpenCV 的 GrabCut 返回元组 (mask, bgdModel, fgdModel)mask 是应用 GrabCut 算法后的输出掩模。迭代次数越多GrabCut 运行的时间越长理想情况下的性能会更好。cv.GC_INIT_WITH_RECT 和 cv.GC_INIT_WITH_MASK 可以组合使用。 例程 11.35 GrabCut 图割分割算法框选前景 本例用 OpenCV 实现 GrabCut显示原始图像在图像上用鼠标设置矩形框回车确认作为目标前景的边界框。也可以直接在程序中设置边界框矩形的位置参数。 # 11.35 GrabCut 图割分割算法框选前景image cv2.imread(../images/imgGaia.tif, flags1) # 读取彩色图像(BGR)mask np.zeros(image.shape[:2], dtypeuint8)# 定义矩形框框选目标前景# rect (118, 125, 220, 245) # 直接设置矩形的位置参数也可以鼠标框选 ROIprint(Select a ROI and then press SPACE or ENTER button!\n)roi cv2.selectROI(image, showCrosshairTrue, fromCenterFalse)xmin, ymin, w, h roi # 矩形裁剪区域 (ymin:yminh, xmin:xminw) 的位置参数rect (xmin, ymin, w, h) # 边界框矩形的坐标和尺寸imgROI np.zeros_like(image) # 创建与 image 相同形状的黑色图像imgROI[ymin:ymin h, xmin:xmin w] image[ymin:ymin h, xmin:xmin w].copy()print(xmin, ymin, w, h)fgModel np.zeros((1, 65), dtypefloat) # 前景模型, 13*5bgModel np.zeros((1, 65), dtypefloat) # 背景模型, 13*5iter 5(mask, bgModel, fgModel) cv2.grabCut(image, mask, rect, bgModel, fgModel, iter,modecv2.GC_INIT_WITH_RECT) # 框选前景分割模式# 将所有确定背景和可能背景像素设置为 0而确定前景和可能前景像素设置为 1maskOutput np.where((mask cv2.GC_BGD) | (mask cv2.GC_PR_BGD), 0, 1)maskGrabCut (maskOutput * 255).astype(uint8)imgGrabCut cv2.bitwise_and(image, image, maskmaskGrabCut)plt.figure(figsize(10, 7))plt.subplot(231), plt.axis(off), plt.title(Origin image)plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) # 显示 img(RGB)plt.subplot(232), plt.axis(off), plt.title(Bounding box)plt.imshow(cv2.cvtColor(imgROI, cv2.COLOR_BGR2RGB)) # 显示 img(RGB)plt.subplot(233), plt.axis(off), plt.title(Mask for definite background)maskBGD (mask cv2.GC_BGD).astype(uint8) * 255plt.imshow(maskBGD, gray) # definite backgroundplt.subplot(234), plt.axis(off), plt.title(Mask for probable background)maskPBGD (mask cv2.GC_PR_BGD).astype(uint8) * 255plt.imshow(maskPBGD, gray) # probable backgroundplt.subplot(235), plt.axis(off), plt.title(GrabCut Mask)# maskGrabCut np.where((maskcv2.GC_BGD) | (maskcv2.GC_PR_BGD), 0, 1)plt.imshow(maskGrabCut, gray) # mask generated by GrabCutplt.subplot(236), plt.axis(off), plt.title(GrabCut Output)plt.imshow(cv2.cvtColor(imgGrabCut, cv2.COLOR_BGR2RGB)) # GrabCut Outputplt.tight_layout()plt.show()本节完 版权声明 OpenCV 例程200篇 总目录-202205更新 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/124744467) Copyright 2022 youcans, XUPT Crated2022-5-12 欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列持续更新中 【youcans 的 OpenCV 例程200篇】176.图像分割之均值漂移算法 【youcans 的 OpenCV 例程200篇】177.图像分割之 GraphCuts 图割法 【youcans 的 OpenCV 例程200篇】178.图像分割之 GrabCut 图割法框选前景 【youcans 的 OpenCV 例程200篇】179.图像分割之 GrabCut 图割法掩模图像 更多内容请见 【OpenCV 例程200篇 总目录-202206更新】
http://www.yutouwan.com/news/262541/

相关文章:

  • 给别人做网站挣钱么百度网盘网址是多少
  • 襄阳手机网站建设网站优化 秦皇岛
  • 外贸型网站建设方法免费seo关键词优化排名
  • 温州网站建设培训学校app页面设计图片
  • 做U启的网站做程序的软件
  • 网站开发有什么好的介绍wordpress+做仿站
  • 网站开发进修地方生活门户信息网站源码
  • 上海网站制作顾adsense wordpress
  • 企业为什么要做建站建湖专业做网站
  • 网站开发 图片库品牌大气的网站设计
  • 威宁住房和城乡建设局网站怎样做网络推广营销
  • 网站建设模板元素是什么贵州专业网站建设公司哪家好
  • ps做简洁大气网站保定做网站电话
  • 合肥网络公司招聘网站seo源码
  • 网站开发武胜招聘龙华百度快速排名
  • 做百度推广网站被攻击门户网站模板源码
  • 静态网站做毕业设计网站外链接自己可以怎么做
  • 绵阳做手机网站汕头建设局网站
  • 网络科技官网网站建设微信开发者工具怎么使用
  • 广西住房建设厅网站什么软件可以做动画
  • 扬州学做网站培训多少钱一小时学会网站建设
  • 网站域名不备案吗濮阳新闻最新消息
  • 湖北洈水水利水电建设公司网站移动网站开发实训报告
  • 做数据ppt模板下载网站点开图片跳到网站怎么做
  • 制作微信网站模板免费下载杭州酒店团购网站建设
  • 东莞网站推广公司淘宝推广平台有哪些
  • 网站开发的背景与环境互联网创业项目怎么做
  • 百度搜不干净的东西白山网站seo
  • 百达翡丽手表网站最近高清中文在线国语字幕
  • 内容网站管理系统qq推广引流怎么做