【matlab】图像二值化---最大类间方差法
最大类间方差法
最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适合于双峰情况的自动求取阈值的方法,又叫大津法,简称Otsu。它是按图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差越大,说明构成图像的2部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。
在Matlab中, graythresh 函数使用最大类间方差法获得图像的阈值。
如: level=graythresh(I1);
输入 :I1 是灰度图
输出: level 就是灰度图进行二值化的阈值
用 im2bw (推荐使用 imbinarize)将灰度图转换成二值图
如: I2=im2bw(I1,level);
输入:I1 原灰度图 level 灰度阈值
输出: I2 二值图
I=imread('./ImageLib/DT4.png');
subplot(131);imshow(I);title('原始图像');I=im2double(I);
[h,w,L]=size(I); %计算图像的大小
I1=2*I(:,:,2)-I(:,:,1)-I(:,:,3);
subplot(132);imshow(I1);title('2G-R-B灰度化图像');level=graythresh(I1); %确定灰度阈值
% I2=im2bw(I1,level);
I2=imbinarize(I1,level);
subplot(133);imshow(I2);title('Otsu二值图');
效果图:
【matlab】图像二值化---最大类间方差法相关推荐
- MATLAB图像二值化函数im2bw与imbinarize对给定阈值的内部处理细节
MATLAB图像处理工具包中的im2bw函数和imbinarize函数均可以实现灰度图像的二值化功能,且在MATLAB R2018a之后推荐使用imbinarize.但两者在内部处理图像的时候具有一些 ...
- MATLAB图像二值化
还是老规矩先宣传一下QQ群群: 格子玻尔兹曼救星:293267908. 一切为了早日毕业. 听说可以在PPT作图然后用MATLAB二值化把复杂边界用01矩阵表达出来.上网看了下: I = imread ...
- matlab 图像二值化 后0、1像素的个数统计
目标: 批量处理RGB图像,对其进行二值化处理(需要考虑二值化的阈值设置,此处不展开) 统计二值化之后,各个黑白图像中0.1 的像素点数目 使用折线图的方式,展示出统计的结果 首先进行输入文件夹 与输 ...
- matlab 图像二值化_推荐:为图像处理初学者设计的100个问题(含python实现代码)...
本文整理了图像处理初学者应该需要了解的100个基础问题,涉及读取.显示图像.操作像素.拷贝图像.保存图像.灰度化(Grayscale).二值化(Thresholding).大津算法.HSV 变换.减色 ...
- OTSU_图像二值化分割阈值的算法
简介: 大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出.从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景 ...
- 图像二值化之最大类间方差法(大津法,OTSU)
参考文章1:图像二值化与otsu算法介绍 参考文章2:python opencv cv2.threshold() (将固定级别的阈值应用于每个数组元素)ThresholdTypes 最大类间方差法(大 ...
- opencv与C++实现最大类间方差法(OTSU)进行图像二值化
直接上代码,使用最大类间方差法进行二值化的函数 void threshold_otsu(Mat &mat, Mat &mat_thresh) //mat为输入图像,mat_thresh ...
- 基于阈值的图像二值化方法MATLAB
文章目录 一.目录 二.摘要 三.实验步骤 3.1 固定阈值法 (1)计算均值和方差 (2)绘制和分析高斯分布图像 (3)以128为阈值进行固定阈值分割 (4)观察灰度直方图选择最优固定阈值 3.2 ...
- 【编程语言】利用CImage类对图像像素的处理(图像二值化)
最近做的课程作业需要用到CImage函数处理图像,其中涉及到读取图像以及对图像像素进行操作,在这里记录一下自己的理解. 首先是CImage类的定义和读取图片 CImage srcImage;CIm ...
- 【MATLAB】图像二值化(imbinarize函数)
[MATLAB]图像二值化(imbinarize函数) 图像二值化在MATLAB 2019 版中提示:建议不要使用'im2bw'而改用'imbinarize'.所以特意总结im2bw和imbinari ...
最新文章
- 编码方式 / Base 64
- java实现Hbase中的查询(一)Filter方式
- opencv opencl加速_回放 | OpenCV Webinar 3:OpenCV深度学习应用与原理分析
- 零基础科普:4种简单推荐算法背后的原理
- PSIM软件学习---02 原件模型
- Jquery-数组删除元素
- SQL存储过程跨服务器访问
- android toolbar 颜色渐变,android – 如何使渐变形状留在CollapsingToolbarLayout标题后面...
- ubuntu面板的图标混乱
- 求职必看!大厂面试中遇到了发散性问题..... ,怎么办?
- 突破10万高并发的nginx性能优化经验(含内核参数优化)...
- A better zip bomb,比例28000000:1「V2」
- 数据推荐 | 自然场景OCR文字识别数据集一览
- Java分布式开发中的RPC
- 利用css制作二级下拉菜单
- 前端每日实战:50# 视频演示如何用纯 CSS 创作一个永动的牛顿摆
- cisco ASA 防火墙安全算法原理和基本配置(转自http://xiaoxiao1001.blog.51cto.com/7640562/1300161)
- 《三体》死神永生之感
- [Luogu P3975] [TJOI2015]弦论
- java 一元二次方程_如何用java编写一元二次方程的求根问题