图像处理 | Otsu 阈值分割以及基本形态学处理

1、图像分割 —— Otsu 全局阈值分割

1) 实现原理与流程

具体实现步骤如下:

  1. 统计图像各个灰度级所包含的像素个数,即归一化直方图;
  2. 遍历每一个可能的灰度级,根据1) 中得到的直方图,计算出对应的累计概率以及累计灰度均值;
  3. 直接对图像调用 mean() 函数计算出全局灰度均值;再根据累计概率、累计灰度均值以及全局灰度均值计算出类间方差;
  4. 结合 max() 函数和 find() 函数找出最大类间方差所对应的各个灰度值,如果有多个灰度值,则取这些灰度值的平均值作为分隔阈值;
  5. 通过公式计算出可分性度量,将大于等于分隔阈值的灰度值置为255(白色),小于分隔阈值的灰度值置为0(黑色)。
    相关计算公式如下:

在这里插入图片描述

2) 函数接口实现

function binaryImage = myOtsu(rawImage)
    % rawImage:处理前的单通道灰度图像
    % binaryImage:处理后的二值图像(前景白色,背景黑色)

    % 获取输入参数
    L = 255;
    img_double = double(rawImage);

    % 1.计算输入图像的归一化直方图
    H = myHistogramEqualization(rawImage);

    % 2.计算被分类到C1类的累计概率p,累计灰度均值m
    p = zeros(L+1,1);
    m = zeros(L+1,1);
    grey = 0 : L;       % 定义一个0-L的等距数组用于表示各个可能的灰度级
    for i = 0 : L
        p(i+1) = sum( H(1:i+1) );   % H(i+1) --> p(i)
        temp = 0 : i;
        m(i+1) = sum( temp(:) .* H(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值