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 相关文章推荐
Python使用matplotlib绘制动画的方法
May 20 Python
python实现人脸识别代码
Nov 08 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
python定时关机小脚本
Jun 20 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
Python Flask框架扩展操作示例
May 03 Python
python爬虫的一个常见简单js反爬详解
Jul 09 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
Django 批量插入数据的实现方法
Jan 12 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Python tcp传输代码实例解析
Mar 18 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摘要生成函数(无乱码)
2012/02/04 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
PHP屏蔽关键字实现方法
2016/11/17 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
关于php unset对json_encode的影响详解
2018/11/14 PHP
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
美国存储和组织商店:The Container Store
2017/08/16 全球购物
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
几道数据库的概念性面试题
2014/05/30 面试题
西部世纪面试题
2014/12/05 面试题
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
音乐表演专业毕业生求职信
2013/10/14 职场文书
大学团支书的自我评价分享
2013/12/14 职场文书
经理秘书找工作求职信
2013/12/19 职场文书
大学生职业生涯规划范文
2013/12/31 职场文书
安全事故检讨书
2014/01/18 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
信息员培训方案
2014/06/12 职场文书
创业计划书之旅游网站
2019/09/06 职场文书