• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Matlab
  • 标签:

资源简介

matlab程序用了三种方法分别对图像进行二值化

资源截图

代码片段和文件信息

function imagBW = kittlerMet(imag)
% KITTLERMET binarizes a gray scale image ‘imag‘ into a binary image
% Input:
%   imag: the gray scale image with black foreground(0) and white
%   background(255).
% Output:
%   imagBW: the binary image of the gray scale image ‘imag‘ with kittler‘s
%   minimum error thresholding algorithm.

% Reference:
%   J. Kittler and J. Illingworth. Minimum Error Thresholding. Pattern
%   Recognition. 1986. 19(1):41-47

MAXD = 100000;
imag = imag(::1);
[counts x] = imhist(imag);  % counts are the histogram. x is the intensity level.
GradeI = length(x);   % the resolusion of the intensity. i.e. 256 for uint8.
J_t = zeros(GradeI 1);  % criterion function
prob = counts ./ sum(counts);  % Probability distribution
meanT = x‘ * prob;  % Total mean level of the picture
% Initialization
w0 = prob(1);   % Probability of the first class
miuK = 0;   % First-order cumulative moments of the histogram up to the kth level.
J_t(1) = MAXD; 
n = GradeI-1;
for i = 1 : n
    w0 = w0 + prob(i+1);
    miuK = miuK + i * prob(i+1);  % first-order cumulative moment
    if (w0 < eps) || (w0 > 1-eps)
        J_t(i+1) = MAXD;    % T = i
    else
        miu1 = miuK / w0;
        miu2 = (meanT-miuK) / (1-w0);
        var1 = (((0 : i)‘-miu1).^2)‘ * prob(1 : i+1);
        var1 = var1 / w0;  % variance
        var2 = (((i+1 : n)‘-miu2).^2)‘ * prob(i+2 : n+1);
        var2 = var2 / (1-w0);
        if var1 > eps && var2 > eps   % in case of var1=0 or var2 =0
            J_t(i+1) = 1+w0 * log(var1)+(1-w0) * log(var2)-2*w0*log(w0)-2*(1-w0)*log(1-w0);
        else
            J_t(i+1) = MAXD;
        end
    end
end
minJ = min(J_t);
index = find(J_t == minJ);
th = mean(index);
th = (th-1)/n
imagBW = im2bw(imag th);

% figure imshow(imagBW) title(‘kittler binary‘);


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

     文件       1845  2010-05-04 16:48  二值化\kittlerMet.m

     文件        423  2010-05-05 14:18  二值化\main.m

     文件       2606  2010-05-04 16:48  二值化\niblack.m

     文件       1642  2010-05-04 16:48  二值化\otsu.m

     目录          0  2010-05-13 14:50  二值化

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

                 6516                    5


评论

共有 条评论

相关资源