• 大小: 572KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: Matlab
  • 标签: 二值化  Ostu法  

资源简介

自适应门限法图像二值化。采用Ostu法(最大类间方差法)自动确定最佳阈值。同时也适用于光照不匀的图像,先将其分成几个部分,分别阈值化。效果非常好!!

资源截图

代码片段和文件信息

clear all;
img = imread(‘图片2.png‘);
img = rgb2gray(img);
figure;imshow(img [])
[m n] = size(img);
img_hist = zeros(1256);
for i = 1:m
    for j = 1:n
        img_hist(img(i j)+1) = img_hist(img(i j)+1) + 1;
    end
end
img_hist_pro = img_hist/m/n;         %灰度级概率密度分布
% plot(img_hist_pro)
% figure;imhist(img)
sigma2_max = 0;threshold = 0;
for t = 0:255
    w0 = 0;w1 = 0; u0 = 0; u1 = 0; u = 0;
    for q = 0:255
        if q <= t
            w0 = w0 + img_hist_pro(q+1);
            u0 = u0 + (q)*img_hist_pro(q+1);
        else
            w1 = w1 + img_hist_pro(q+1);
            u1 = u1 + (q)*img_hist_pro(q+1);
        end
    end
    u = u0 + u1;
    u0 = u0 / (w0+eps);
    u1 = u1 / (w1+eps);
    sigma2 = w0 * (u0 - u)^2 + w1 * (u1 - u)^2;     %求取类间最小
    if (sigma2 > sigma2_max)
        sigma2_max = sigma2;
        threshold = t;
    end
end
img_out = img;
for i = 1:m                                         %阈值化
    for j = 1:n
        if img(i j) >= threshold;
            img_out(i j) = 255;
        else 
            img_out(i j) = 0;
        end
    end
end
figure;imshow(img_out)
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1176  2013-01-10 21:17  作业4\adaptivethresh.m

     文件       1653  2013-01-10 21:27  作业4\adaptivethresh2.m

     文件    1230242  2013-01-10 21:31  作业4\result.tif

     文件     146415  2013-01-09 20:39  作业4\图片1.png

     文件     397940  2013-01-03 14:52  作业4\图片2.png

     文件      22594  2013-01-10 22:05  作业4\自适应门限法将图像二值化.docx

     目录          0  2013-01-11 18:49  作业4

----------- ---------  ---------- -----  ----

              1800020                    7


评论

共有 条评论