阈值分割迭代法源码程序 - matlab算法设计 - 谷速源码
下载频道> 资源分类> matlab源码> 算法设计> 阈值分割迭代法源码程序

标题:阈值分割迭代法源码程序
分享到:

所属分类: 算法设计 资源类型: 文件大小: 69.57 KB 上传时间: 2016-01-25 19:35:12 下载次数: 159 资源积分:1分 提 供 者: xiaopeng2 阈值分割迭代法源码程序
内容:
阈值分割迭代法源码程序,程序员在编程的过程中可以参考学习使用,希望对IT程序员有用,此源码程序简单易懂、方便阅读,有很好的学习价值!
%基于贝叶斯分类算法的图像阈值分割 
clear 
clc; 
close all;
 
 
Init = imread('SLR.bmp'); 
Im=rgb2gray(Init);
subplot(131),imhist(Im),title('直方图') 
subplot(132),imshow(Im) 
title('原始图像') 
[x,y]=size(Im);                    % 求出图象大小 
b=double(Im);                   
zd=double(max(Im))                  % 求出图象中最大的灰度 
zx=double(min(Im))                % 最小的灰度  
T=double((zd+zx))/2;                     % T赋初值,为最大值和最小值的平均值 
 
count=double(0);                         % 记录几次循环 
while 1                   % 迭代最佳阈值分割算法 
    count=count+1; 
    S0=0.0; n0=0.0;                   %为计算灰度大于阈值的元素的灰度总值、个数赋值 
    S1=0.0; n1=0.0;                   %为计算灰度小于阈值的元素的灰度总值、个数赋值 
    for i=1:x
        for j=1:y
            if double(Im(i,j))>=T
                S1=S1+double(Im(i,j));  %大于阈域值图像点灰度值累加
                n1=n1+1;                %大于阈域值图像点个数累加
            else 
                S0=S0+double(Im(i,j));  %小于阈域值图像点灰度值累加
                n0=n0+1;                %小于阀域值图像点个数累加
            end 
        end 
    end  
    T0=S0/n0; %求小于阀域值均值
    T1=S1/n1; %求大于阀域值均值
    if abs(T-((T0+T1)/2))<0.1     %迭代至 前后两次阀域值相差几乎为0时 停止迭代。
        break;
    else
       T=(T0+T1)/2;                 %在阈值T下,迭代阈值的计算过程 
   end 
end 
 
count                                %显示运行次数
T
i1=im2bw(Im,T/255);               % 图像在最佳阈值下二值化 
subplot(133),imshow(i1) 
title('实验结果') 
 

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

阈值分割迭代法源码程序/
阈值分割迭代法源码程序/code/
阈值分割迭代法源码程序/code/SLR.BMP
阈值分割迭代法源码程序/code/iterative.m
阈值分割迭代法源码程序/code/lena.BMP
阈值分割迭代法源码程序/code/result.bmp.fig

关键词: 迭代法 阈值 源码

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved