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 logging模块学习笔记
May 24 Python
深入解析Python中的集合类型操作符
Aug 19 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
Python将图片批量从png格式转换至WebP格式
Aug 22 Python
python2.7实现邮件发送功能
Dec 12 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
利用pandas合并多个excel的方法示例
Oct 10 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
浅谈Tensorflow 动态双向RNN的输出问题
Jan 20 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
Django 解决开发自定义抛出异常的问题
May 21 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
laravel学习教程之关联模型
2016/07/30 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
jQuery写fadeTo示例代码
2014/02/21 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
JavaScript常用字符串与数组扩展函数小结
2016/04/24 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
django之常用命令详解
2016/06/30 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
Python入门学习指南分享
2018/04/11 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
django创建简单的页面响应实例教程
2019/09/06 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
numpy实现神经网络反向传播算法的步骤
2019/12/24 Python
python 的topk算法实例
2020/04/02 Python
Numpy 多维数据数组的实现
2020/06/18 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
全球性的女装店:storets
2019/06/12 全球购物
摄影专业毕业生求职信
2014/03/13 职场文书
父母对孩子说的话
2014/04/12 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
化工见习报告范文
2014/10/31 职场文书