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 相关文章推荐
通过数据库对Django进行删除字段和删除模型的操作
Jul 21 Python
将Python代码打包为jar软件的简单方法
Aug 04 Python
Python注释详解
Jun 01 Python
Python内置函数OCT详解
Nov 09 Python
Python对excel文档的操作方法详解
Dec 10 Python
【python】matplotlib动态显示详解
Apr 11 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
Python入门之基础语法详解
May 11 Python
python实现股票历史数据可视化分析案例
Jun 10 Python
使用Django框架创建项目
Jun 10 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中HTTP方式下的Gzip压缩传输方法举偶
2007/02/15 PHP
PHP输出时间差函数代码
2013/01/28 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
[40:03]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#1EHOME VS Archon
2016/03/02 DOTA
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
python安装与使用redis的方法
2016/04/19 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
TensorFlow实现卷积神经网络
2018/05/24 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
好的自荐信的要求
2013/10/30 职场文书
会计实习自我鉴定
2013/12/04 职场文书
程序员求职信
2014/04/16 职场文书
我的中国梦口号
2014/06/16 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
2015年化验室工作总结
2015/04/23 职场文书