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实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
Python中常用信号signal类型实例
Jan 25 Python
对numpy中布尔型数组的处理方法详解
Apr 17 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
使用python实现mqtt的发布和订阅
May 05 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
解决Python3 抓取微信账单信息问题
Jul 19 Python
django基础学习之send_mail功能
Aug 07 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
python随机生成库faker库api实例详解
Nov 28 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 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
基于mysql的bbs设计(四)
2006/10/09 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
jQuery之日期选择器的深入解析
2013/06/19 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
Python ljust rjust center输出
2008/09/06 Python
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python Sleep休眠函数使用简单实例
2015/02/02 Python
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
ubuntu上安装python的实例方法
2019/09/30 Python
Python实现打印实心和空心菱形
2019/11/23 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
Python @property原理解析和用法实例
2020/02/11 Python
python支持多继承吗
2020/06/19 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
《小松树和大松树》教学反思
2014/02/20 职场文书
表彰会主持词
2014/03/26 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
施工员岗位职责
2015/02/10 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
2015年学校政教工作总结
2015/07/20 职场文书