zoukankan      html  css  js  c++  java
  • 阈值分割技术

    1. 全局阈值法

    1. 通过全局信息(如直方图)。如果图像只是用一个阈值,则叫做全局阈值法,整个图像分成两个区域,即目标对象(黑)和背景对象(白)。全局阈值将图像的灰度阈值设置为常数
    2. 对物体和背景对比明显的图,直方图呈双峰形状,可选择波谷为全局阈值,公式如下:

      g(x,y)=1 if img(x,y)<T else 0
      (也就是小于阈值T的像素设为0,大于阈值设为1)

    3. 方法:

      step1. 遍历赋值法;
      step2. 逻辑判断法:BW=img>127 %直接生成逻辑矩阵
      step3. 函数法:im2bw(img,level)

    4. 代码:
      bw=im2bw(gray,t) %t是归一化的阈值

    2. Otsu阈值分割

    1. 最大类间方差法,在灰度直方图的基础上采用最小二乘法原理推导出来,具有统计意义上的最佳分割。原理是以最佳阈值将图像分割成两部分,使两部分之间的方差最大,即具有最大分离性
    2. 代码:
    t=graythresh(gray);  %函数获取otsu的最佳阈值
    bw=im2bw(gray,t);  %利用Otsu的最佳阈值实现二值化
    

    3. 迭代式阈值分割

    1. 迭代计算新阈值,直到满足自设定的阈值停止
    2. 代码:
    ## 非函数实现
    close all;clear all;clc;
    
    I=imread('../hand/hand.jpg');
    I=im2double(I);
    
    T0=0.01;
    T1=(min(I(:))+max(I(:)))/2;  
    
    r1=find(I>T1);
    r2=find(I<=T1);
    
    T2=(mean(I(r1))+mean(I(r2)))/2;
    
    while abs(T2-T1)<T0
    	T1=T2;
    	r1=find(I>T1);
    	r2=find(I<=T1);
    
    	T2=(mean(I(r1))+mean(I(r2)))/2;
    end
    
    J=im2bw(I,T2);
    figure();
    subplot(121),imshow(I);
    subplot(122),imshow(J);
    
  • 相关阅读:
    基于proteus的数字电路设计
    AXI4自定义FPGA外设理论基础
    FPGA 原语之一位全加器
    FPGA原语初步试验
    PS的流水灯设计分析
    vivado2019操作之约束文件
    http 笔记1
    编写有效用例-笔记
    接口测试学习积累1
    模拟器学习
  • 原文地址:https://www.cnblogs.com/thgpddl/p/12610947.html
Copyright © 2011-2022 走看看