Matlab之graythresh()函数详解
来源:互联网 发布:数据库存储过程作用 编辑:程序博客网 时间:2024/05/30 23:45
1函数简介
函数功能:使用最大类间方差法找到图片的一个合适的阈值(threshold)。在使用im2bw函数将灰度图像转换为二值图像时,需要设定一个阈值,这个函数可以帮助我们获得一个合适的阈值。利用这个阈值通常比人为设定的阈值能更好地把一张灰度图像转换为二值图像。
调用格式:
level = graythresh(I)
[level EM] = graythresh(I)
通过计算获得输入图像的阈值,这个阈值在[0, 1]范围内。该阈值可以传递给im2bw完成灰度图像转换为二值图像的操作。
graythresh使用最大类间方差法来获得一个阈值。
最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU。它是按图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差越大,说明构成图像的2部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。
相关函数: im2bw
2程序示例
imggray = imread('cell.bmp');
subplot(221);imshow(imggray); title('原始图像');
imgbw = im2bw(imggray);
subplot(222);imshow(imgbw); title( '使用默认阈值0.5');
imgbw = im2bw(imggray, 0.25);
subplot(223);imshow(imgbw); title( '指定阈值为0.25');
level = graythresh(imggray); imgbw = im2bw(imggray,level);
subplot(224);imshow(imgbw); title('使用最大类间方差法(Otsu)获得阈值');
由此可见, 如果不使用graythresh函数来获得阈值, 可能需要多次尝试才能获得一个合适的阈值。
- Matlab之graythresh()函数详解
- Matlab中的graythresh函数
- Matlab之graythresh()函數詳解
- matlab中的graythresh函数的实例
- matlab graythresh()函数使用的注意点
- Matlab ones()[ zeros() ] & rgb2gray() & graythresh() & im2bw() 函数的使用
- 根据OSTU大津法使用Matlab实现数字图像处理segmentation的graythresh函数
- 2.23学习心得 Matlab graythresh函数 形态学开闭操作,腐蚀膨胀的作用
- matlab函数详解之“padarray”
- matlab函数详解之“sub2ind”
- 详解MATLAB之MAX函数
- MATLAB 之 wavedec2函数详解
- OpenCV中threshold自动阈值,类似matlab中的graythresh
- Matlab textread函数详解
- Matlab View函数详解
- Matlab textread函数详解
- Matlab textread函数详解
- Matlab textread函数详解
- C++函数参数赋值
- JAVA系列-设计模式-装饰者模式
- Visual 2008 在加载窗体的时候出现了“扩展性DTE不可用”[解决]
- 初次接触:DirectDraw
- Android Wifi的一些属性
- Matlab之graythresh()函数详解
- 回调函数
- C语言数组实现栈的基本操作,并利用O(1)求出栈中最小元素
- JAVA系列-设计模式-解释器模式
- 用with改写优化sql
- 分治算法-最近点对问题、大整数相乘
- kernel list 与普通list区别及其最牛叉的地方
- 【百度地图】计算两组经纬度坐标之间的距离PHP函数
- 6年开发的一些体会