python数字图像处理之图像自动阈值分割示例


Posted in Python onJune 28, 2022

引言

图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。

在skimage库中,阈值分割的功能是放在filters模块中。

我们可以手动指定一个阈值,从而来实现分割。也可以让系统自动生成一个阈值,下面几种方法就是用来自动生成阈值。

1、threshold_otsu

基于Otsu的阈值分割方法,函数调用格式:

skimage.filters.threshold_otsu(image, nbins=256)

参数image是指灰度图像,返回一个阈值。

from skimage import data,filters
import matplotlib.pyplot as plt
image = data.camera()
thresh = filters.threshold_otsu(image)   #返回一个阈值
dst =(image <= thresh)*1.0   #根据阈值进行分割
plt.figure('thresh',figsize=(8,8))
plt.subplot(121)
plt.title('original image')
plt.imshow(image,plt.cm.gray)
plt.subplot(122)
plt.title('binary image')
plt.imshow(dst,plt.cm.gray)
plt.show()

返回阈值为87,根据87进行分割得下图:

python数字图像处理之图像自动阈值分割示例

2、threshold_yen

使用方法同上:

thresh = filters.threshold_yen(image)

返回阈值为198,分割如下图:

python数字图像处理之图像自动阈值分割示例

3、threshold_li

使用方法同上:

thresh = filters.threshold_li(image)

返回阈值64.5,分割如下图:

python数字图像处理之图像自动阈值分割示例

4、threshold_isodata

阈值计算方法:

threshold = (image[image <= threshold].mean() +image[image > threshold].mean()) / 2.0

使用方法同上:

thresh = filters.threshold_isodata(image)

返回阈值为87,因此分割效果和threshold_otsu一样。

5、threshold_adaptive

调用函数为:

skimage.filters.threshold_adaptive(image, block_size, method='gaussian')

block_size: 块大小,指当前像素的相邻区域大小,一般是奇数(如3,5,7。。。)

method: 用来确定自适应阈值的方法,有'mean', 'generic', 'gaussian' 和 'median'。

省略时默认为gaussian

该函数直接访问一个阈值后的图像,而不是阈值。

from skimage import data,filters
import matplotlib.pyplot as plt
image = data.camera()
dst =filters.threshold_adaptive(image, 15) #返回一个阈值图像
plt.figure('thresh',figsize=(8,8))
plt.subplot(121)
plt.title('original image')
plt.imshow(image,plt.cm.gray)
plt.subplot(122)
plt.title('binary image')
plt.imshow(dst,plt.cm.gray)
plt.show()

python数字图像处理之图像自动阈值分割示例

大家可以修改block_size的大小和method值来查看更多的效果。如:

dst1 =filters.threshold_adaptive(image,31,'mean') 
dst2 =filters.threshold_adaptive(image,5,'median')

两种效果如下:

python数字图像处理之图像自动阈值分割示例

以上就是python数字图像处理之图像自动阈值分割示例的详细内容,更多关于python数字图像自动阈值分割的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
Jan 19 Python
Python使用正则表达式抓取网页图片的方法示例
Apr 21 Python
使用pyecharts在jupyter notebook上绘图
Apr 23 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
pytorch中tensor的合并与截取方法
Jul 26 Python
Python中fnmatch模块的使用详情
Nov 30 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Django:使用filter的pk进行多值查询操作
Jul 15 Python
五分钟带你搞懂python 迭代器与生成器
Aug 30 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 Python
Python 读取千万级数据自动写入 MySQL 数据库
Jun 28 #Python
python数字图像处理:图像简单滤波
Jun 28 #Python
python实现一个简单的贪吃蛇游戏附代码
python数字图像处理之对比度与亮度调整示例
Jun 28 #Python
python数字图像处理实现图像的形变与缩放
在python中读取和写入CSV文件详情
Jun 28 #Python
python数字图像处理之图像的批量处理
You might like
php自动加载autoload机制示例分享
2014/02/20 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
javascript中match函数的用法小结
2014/02/08 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
完善的jquery处理机制
2016/02/21 Javascript
一起学写js Calender日历控件
2016/04/14 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python基于socket实现网络广播的方法
2015/04/29 Python
Python排序算法实例代码
2017/08/10 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
老师的检讨书
2014/02/23 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
毕业生应聘求职信
2014/07/10 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
保证书格式
2015/01/16 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
学校食品安全责任书
2015/01/29 职场文书
微信早安问候语
2015/11/10 职场文书
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers