亚洲天堂网_国产中出_日韩激情网_97se.com_中国亚洲老少妇色视频

資源共享分類
通信信號 圖像語音 神經網絡 智能優化 控制器 數值仿真 數學建模 其他專業

微信:HuangL1121
Q Q:1224848052
團隊:嘉興麥特萊博軟件開發工作室
地址:嘉興港區
 
通信信號
MATLAB代做|利用大津法(Ostu)計算閾值
來源:本站    日期:2019/8/7    瀏覽量:245  

功能描述:

    %利用大津法(Ostu)計算閾值  
    %{  
    大津法由大津于1979年提出,對圖像Image,記t為前景與背景的分割閾值,前景點數占圖像  
    比例為w0,平均灰度為u0;背景點數占圖像比例為w1,平均灰度為u1。  
    圖像的總平均灰度為:u=w0*u0+w1*u1。從最小灰度值到最大灰度值遍歷t,  
    當t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大時t即為分割的最佳閾值。  
    對大津法可作如下理解:該式實際上就是類間方差值,閾值t分割出的前景和背景兩部分構成  
    了整幅圖像,而前景取值u0,概率為 w0,背景取值u1,概率為w1,總均值為u,根據方差的  
    定義即得該式。因方差是灰度分布均勻性的一種度量,方差值越大,說明構成圖像的兩部分差  
    別越大, 當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小,因此使類  
    間方差最大的分割意味著錯分概率最小。  
    %}  
    %Matlab實現大津法計算閥值  
    function threshold = otsu(grayImage)  
    %取出最大灰度值,max只能找到每一列的最大值  
    maxGrayValue = max(max(grayImage));  
    %取出最小灰度值  
    minGrayValue = min(min(grayImage));  
    %求初始閥值  
    t = double(minGrayValue:maxGrayValue);  
    %圖像大小  
    gsize = size(grayImage);  
    %圖像像素總個數  
    muxsize = gsize(1)*gsize(2);  
    for k = 1:length(t)  
        %從最小灰度值到最大值的計算方法  
        tk = t(1,k);  
        %定義前景和背景像素數  
        iforeground = 0;  
        ibackground = 0;  
        %定義前景和背景的灰度總和  
        foreground = 0;  
        background = 0;  
        for i = 1:gsize(1)  
            for j = 1:gsize(2)  
                tmp = grayImage(i,j);  
                if(tmp >= tk)  
                    %前景灰度值  
                    iforeground = iforeground + 1;  
                    foreground = foreground + double(tmp);  
                else  
                    %背景灰度值  
                    ibackground = ibackground + 1;  
                    background = background + double(tmp);  
                end  
            end  
        end  
        w0 = iforeground / muxsize;  
        w1 = ibackground / muxsize;  
        u0 = foreground / iforeground;  
        u1 = background / ibackground;  
        t(2,k) = w0*w1*(u0-u1)*(u0-u1);  
    end  
    %遍歷后尋找grayIamge的第二行的最大值  
    %第二行方差的最大值,忽略NaN  
    omax = max(t(2,:));  
    %方差最大值所對應的列號,find只能檢查一行中的數,或一維數組  
    index = find(t(2,:) >= omax);  
    %從第一行取出灰度值作為閥值  
    t = t(1,index);  
    threshold = t;  

聯系:highspeedlogic

QQ :1224848052

微信:HuangL1121

郵箱:1224848052@qq.com

網站:http://www.mat7lab.com/

網站:http://www.hslogic.com/

微信掃一掃:

   上一篇: MATLAB代做|IEEE802.11 CSMA/CA AdHoc Network    下一篇:    
   相關閱讀
· MATLAB代做|FPGA代做|simulink代做—— 2020/7/14
· MATLAB代做|FPGA代做|simulink代做—— 2020/5/30
· MATLAB代做|FPGA代做|simulink代做—— 2020/5/30
· MATLAB代做|FPGA代做|simulink代做—— 2020/2/1
· MATLAB代做|FPGA代做|simulink代做—— 2019/12/11
· MATLAB代做|FPGA代做|simulink代做—— 2019/12/11
· MATLAB代做|FPGA代做|simulink代做—— 2019/12/11
· Alexnet網絡結構 2019/11/20
· MATLAB代做|FPGA代做|simulink代做—— 2019/9/15
· MATLAB代做|FPGA代做|simulink代做—— 2019/8/29
Copyright 2017-2025 © 嘉興麥特萊博軟件開發工作室
  • 網站備案號:浙ICP備18008591號-1