• 大小: 0.02M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


图像分割中基于一维和二维最大熵分割方法,自己编的matlab程序,不是调用工具箱的。

资源截图

代码片段和文件信息

%一维最大熵图像分割
%
%
clear all;
%图像初始化
lenaRgb = imread(‘lena.jpg‘);
image = rgb2gray(lenaRgb);

%计算各个灰度级的概率存放在p矩阵中
p = zeros(2561);%初始化p
for i = 1:size(image1)
    for j = 1:size(image2)
        p(image(ij)) = p(image(ij)) + 1;   
    end
end
p = p/(size(image1)*size(image2));%算概率

%计算累积概率pt
pt = zeros(2561);
for i = 1:256
    pt(i) = sum(p(1:i));
end

H = zeros(2561);
%求各个灰度值的O区和B区的熵之和
for i = 1:256
    if pt(i)~=0 && pt(i)~=1 
        %计算O区的熵
        ho = 0;
        for o=1:i
            if p(o)~=0 
            temp = p(o)/pt(i);
            ho = ho -temp*log2(temp);
            end
        end
    
        %计算B区的熵
        hb = 0;
        for b=i+1:256
            if p(b)~=0
            temp = p(b)/(1-pt(i));
            hb = hb - temp*log2(temp);
            end
        end
        H(i) = hb + ho;
    end
end

[MAXt] = max(H);%t是熵最大的位置,也就是上最大的灰度值

binaryImage = zeros(size(image));
ind = find(image>t);%阈值大于t的索引
binaryImage(ind)

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

     文件      18727  2015-12-08 11:55  基于一维和二维最大熵分割\lena.jpg

     文件       1239  2015-12-08 20:19  基于一维和二维最大熵分割\oneEntropy.m

     文件       2554  2015-12-08 20:12  基于一维和二维最大熵分割\twoEntropy.m

     目录          0  2015-12-08 20:20  基于一维和二维最大熵分割

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

                22520                    4


评论

共有 条评论