当前位置:首页 > 教育 >

分水岭算法的基本思想(计算机视觉分水岭算法介绍)

来源:原点资讯(www.yd166.com)时间:2024-05-15 22:12:35作者:YD166手机阅读>>

分水岭算法的逻辑:每一副灰度图像都可被当做拓扑平面,图像高灰度区域可以被看成是山峰,而低值区域是山谷,当向每一个山谷中灌不同颜色的水,当随着水位升高、不同山谷的水就会相遇汇合,为了防止不同山谷的水汇合在一起,这时需要在水汇合的地方构建起堤坝,而构建堤坝的过程就是对图像的分割哲理和逻辑。我们可以通过下面的图像体会一下分水岭实现图像分割背后的逻辑:

分水岭算法的基本思想,计算机视觉分水岭算法介绍(1)

分水岭算法的基本思想,计算机视觉分水岭算法介绍(2)

我们先感受一下opencv官方的例子效果:

### 水平集分割:opencv 官方例子 ori_img = cv2.imread("img/1.jpg") img = ori_img.copy() gray = cv2.cvtColor(ori_img,cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(gray,0,255,cv2.THRESH_BINARY_INV cv2.THRESH_OTSU) kernel = np.ones((3,3),np.uint8) opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel, iterations = 2) sure_bg = cv2.dilate(opening,kernel,iterations=1) dist_transform = cv2.distanceTransform(opening,1,5) ret, sure_fg = cv2.threshold(dist_transform,0.3*dist_transform.max(),255,0) sure_fg = np.uint8(sure_fg) unknown = cv2.subtract(sure_bg,sure_fg) ret, markers1 = cv2.connectedComponents(sure_fg) markers = markers1 1 markers[unknown==255] = 0 markers3 = cv2.watershed(ori_img,markers) ori_img[markers3 == -1] = [255,0,0] plt.figure(figsize=(20, 12)) plt.subplot(2,3,1), plt.imshow(img[:,:,::-1]),plt.title('原始图像'), plt.axis('off') plt.subplot(2,3,2), plt.imshow(opening, 'gray'), plt.title('开运算结果'), plt.axis('off') plt.subplot(2,3,3), plt.imshow(sure_bg, 'gray'), plt.title('sure_bg图像'), plt.axis('off') plt.subplot(2,3,4), plt.imshow(dist_transform, 'gray'), plt.title('dist_transform图像'), plt.axis('off') plt.subplot(2,3,5), plt.imshow(sure_fg, 'gray'), plt.title('sure_fg结果'), plt.axis('off') plt.subplot(2,3,6), plt.imshow(ori_img, 'gray'), plt.title('ori_img结果'), plt.axis('off')

分水岭算法的基本思想,计算机视觉分水岭算法介绍(3)

我们再试一下稍微复杂的图像:

分水岭算法的基本思想,计算机视觉分水岭算法介绍(4)

分水岭算法的基本思想,计算机视觉分水岭算法介绍(5)

效果并不理想。实际上,我们经常要对分割阈值进行动态的调整,这里会涉及到 能量泛函水平集分割。

能量泛函水平集分割:分割效果

分水岭算法的基本思想,计算机视觉分水岭算法介绍(6)

,

栏目热文

分水岭算法结果转换成二值图(计算机视觉分水岭算法介绍)

分水岭算法结果转换成二值图(计算机视觉分水岭算法介绍)

1. 寻找轮廓findContours() 函数用于在二值图像中寻找轮廓。常与 drawContours() 函数配合使...

2024-05-15 22:15:37查看全文 >>

分水岭算法如何解决过度分割问题(图像分割分水岭算法)

分水岭算法如何解决过度分割问题(图像分割分水岭算法)

1. 分水岭分割方法它是依赖于形态学的,图像的灰度等级不一样,如果图像的灰度等级一样的情况下怎么人为的把它造成不一样?可...

2024-05-15 21:52:57查看全文 >>

经典分水岭算法的步骤(资源分配最优算法)

经典分水岭算法的步骤(资源分配最优算法)

使用C 、opencv进行分水岭分割图像分水岭概念是以对图像进行三维可视化处理为基础的:其中两个是坐标,另一个是灰度级...

2024-05-15 22:11:56查看全文 >>

漂洋过海简介(漂洋过海完整版大结局)

漂洋过海简介(漂洋过海完整版大结局)

福建名茶无数,美人却只在高山。在福建省三明市大田县,境内峰峦叠翠、云雾缭绕、泉水潺潺,大田美人茶就主产于这里海拔1500...

2024-05-15 21:53:25查看全文 >>

漂洋过海电视剧分集剧情介绍(电视剧漂洋过海分集介绍)

漂洋过海电视剧分集剧情介绍(电视剧漂洋过海分集介绍)

5月下旬的电视剧市场竞争激烈,李易峰主演的《暗夜行者》,双重卧底加跨国贩毒,剧情相当带感,播出后热度稳占榜首之位,看得出...

2024-05-15 22:10:47查看全文 >>

分水岭算法和边缘算法(图像分割分水岭算法)

分水岭算法和边缘算法(图像分割分水岭算法)

halcon中图像分割,主要是对单通道图像进行处理,主要的方法有几种:1、阈值处理;2、区域生长法;3、分水岭算法一、阈...

2024-05-15 22:38:59查看全文 >>

分水岭算法的数学模型(分水岭算法例题详解)

分水岭算法的数学模型(分水岭算法例题详解)

分水岭算法是图像分割比较基础也是比较简单的方法,虽然随着神经网络的盛行,这种方法已经被人淡忘,不过作为图像处理的专业人员...

2024-05-15 22:32:35查看全文 >>

法国香水花能长多高(法国香水花适合家养吗)

法国香水花能长多高(法国香水花适合家养吗)

冬天因为经常门窗紧闭,空气不流通,家里免不了会有点异味,人长时间闷在屋里也不好,今天,小编给大家推荐一款非常漂亮的芳香植...

2024-05-15 22:03:06查看全文 >>

法国香水花图片及价格(法国香水花有哪些香味)

法国香水花图片及价格(法国香水花有哪些香味)

相信有很多朋友都看到过法国香水花,它被称为迷你版本的黄蝉花,花朵叶子看起来都特别轻盈,是可以爬藤生长的多年生的藤本类观赏...

2024-05-15 21:50:55查看全文 >>

法国香水月季花图片(香水月季花品种图片图文)

法国香水月季花图片(香水月季花品种图片图文)

法国香水及化妆品举世闻名,有口皆碑,它和时装、葡萄酒一起并列为法国三大精品产业。法国的月季也是园艺圈内有名的浪漫唯美,法...

2024-05-15 22:35:59查看全文 >>

文档排行