基于python-tensorflow的机器视觉学习手札 (1.6)图像处理篇-经典图像分割技术

本文介绍了基于Python和Tensorflow的机器视觉学习中的一些经典图像分割技术,包括边缘检测(如Roberts算子、Prewitt算子、Sobel算子、Laplacian算子和Canny算子)和阈值分割(全局阈值、Otsu大津法、迭代法)。同时,还探讨了区域分割技术,如区域生长法和分水岭分割,以及它们在图像处理中的应用和优缺点。
摘要由CSDN通过智能技术生成

哎呀终于又到了核心技术之一啦 激动惹!
目前比较成熟的图像分割技术有边缘检测方法、阈值分割法、区域分割技术等。近十几年来,又有形态学、小波变换、模糊数学等方法,形态学后面等说开闭变换的时候说,小波变换应该后面会有专门的一节来总结,这一节先说经典的几种方法好啦。。

边缘分割技术

边缘分割技术是通过边缘检测来实现的,而边缘检测又是通过物体和背景在图像特性上的差异来实现的。常见的边缘检测方法一般都是用滤波器,使用的算子有微分算子、Canny算子、Log算子等。微分算子又分Prewitt算子、Roberts算子、Sobel算子、Laplacian算子等。

1 间断点与线段的检测

前面也说了,对于图像中的间断点,检测模板一般是:

np.array([-1,-1,-1],
         [-1, 8,-1],
         [-1,-1,-1])

而对于线段,检测模板就有:

np.array([-1,-1,-1],   
         [ 2, 2, 2],
         [-1,-1,-1])   # 水平线段
np.array([-1, 2,-1],   
         [-1, 2,-1],
         [-1, 2,-1])   # 竖直线段
np.array([-1,-1, 2],   
         [-1, 2,-1],
         [ 2,-1,-1])   # +45度线段
np.array([ 2,-1,-1],   
         [-1, 2,-1],
         [-1,-1, 2])   # -45度线段

可以通过滤波函数用这四个滤波器对图像进行滤波(或者说卷积 无所谓啦),然后把得到的结果加在一起,就能覆盖整张图片中大部分的线段。

2 微分算子

用于边缘检测时,matlab中有edge函数直接取,需要自己选择算子,而且这个函数还自动取阈值来得到边缘,输出的是二值图像。

2.1 Roberts算子

首先有Roberts算子,对于离散的图像f(x,y),边缘检测算子就是用水平和垂直差分逼近梯度算子,这种算子由两个2*2矩阵组成:

np.array([1 , 0],
         [0 ,-1])
np
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值