博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3与OpenCV3.3 图像处理(二十六)--分水岭算法(纯代码)
阅读量:6626 次
发布时间:2019-06-25

本文共 993 字,大约阅读时间需要 3 分钟。

import cv2 as cvimport numpy as npdef watershed(img):    gray = cv.cvtColor(img, cv.COLOR_RGB2GRAY)    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)    kernel = cv.getStructuringElement(cv.MORPH_RECT, (3, 3))    mb = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel, iterations=2)    sure_bg = cv.dilate(mb, kernel, iterations=3)    dist = cv.distanceTransform(mb, cv.DIST_L2, 3)    dist_output = cv.normalize(dist, 0, 1.0, cv.NORM_MINMAX)    ret, surface = cv.threshold(dist, dist.max() * 0.6, 255, cv.THRESH_BINARY)    surface_fg = np.uint8(surface)    unknown = cv.subtract(sure_bg, surface_fg)    ref, markers = cv.connectedComponents(sure_bg)    markers = markers + 1    markers[unknown == 255] = 0    markers = cv.watershed(src, markers=markers)    src[markers == -1] = [0, 0, 255]    cv.imshow("result",src)src = cv.imread('num.jpg')cv.imshow('def', src)watershed(src)cv.waitKey(0)cv.destroyAllWindows()

转载于:https://www.cnblogs.com/BMFramework/p/10017268.html

你可能感兴趣的文章
Android Application Task Activities的关系
查看>>
浅谈CSS盒子模型
查看>>
实现iFrame自适应高度,原来很简单!
查看>>
get app id
查看>>
poj 3624 0/1背包暨0/1背包的学习
查看>>
[俗一下]世界500强公司的面试问题与答案提示 [转]
查看>>
使用 Excel Services ,结合 Analysis Services 在 SharePoint 中发布报表
查看>>
SQL Server数据导入导出技术概述与比较
查看>>
format的用法
查看>>
DHCPv6 server port and DHCPv6 client port
查看>>
BitmapFactory.Options避免 内存溢出 OutOfMemoryError的优化方法
查看>>
Python中通过Image的open之后,去show结果打不开bmp图片,无法正常显示图片
查看>>
DNGuard 免费的DotNet加密保护工具 V1.0
查看>>
编程中的命名设计
查看>>
easyui form validate总是返回false原因
查看>>
在(CListView)列表视图中添加右键菜单的方法
查看>>
自定义服务器控件(处理不同的浏览器)
查看>>
解决IE6-IE7下li上下间距
查看>>
聚集索引更新后会不会马上重新排序
查看>>
幸运大抽奖
查看>>