- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图像分割的阈值算法matlab实现【OTSU,1DEntropy,2DEntropy】
今天看了几篇论文,实现了一下,没有验证各算法的有效性
也没有进行定量比较
OTSU
% OTSU method% 2006/9/4clc;clear;
%I = imread(E:\test\chinalake.bmp,bmp);I = imread(E:\test\lena.png,png);
I = double(I);
I = Medianfilter(I);???????? % median filterh_Tmean = mean(mean(I));
[height,width] = size(I);Size = height * width;? % the size of the imageh_T = sum(sum(I));????? % the total gray value of the image
G_min = min(min(I));??? % the min gray value of the imageG_max = max(max(I));??? % the max gray value of the iamge
I_seg = zeros(height,width);???? % the array to store the segmented image
thresh = 0;????????? % the threshold
num1 = 0;num2 = 0;??????????? % count the num of the pixel from the diffrient classP1 = 0;P2 = 0;????????????? % the probability of the different classh_T1 = 0;h_T2 = 0;??????????? % the total gray value of different class h_T1mean = 0;h_T2mean = 0;??????? % the mean value of the class
max = 0;
for thresh=G_min:G_max???? % find the best threshold??? h_T1 = 0;??? h_T2 = 0;??? num1 = 0;??? for h=1:height??????? for w=1:width???????????? if I(h,w) = thresh????????????????? num1 = num1 + 1;????????????????? h_T1 = h_T1 + I(h,w);???????????? end???????? end???? end???? num2 = Size - num1;???? h_T2 = h_T - h_T1;???? P1 = num1/Size;???? P2 = num2/Size;???? ???? h_T1mean = h_T1/num1;???? h_T2mean = h_T2/num2;???? ???? %D = P1*(h_T1mean - h_Tmean)^2 + P2*(h_T2mean - h_Tmean)^2;???? D1 = P1*P2*(h_T1mean - h_T2mean)^2;???????????????????????????? % the tow equation is equal???? if D1 max???????? max = D1;???????? T_best = thresh;??????????? % T record the best thresh???? end?end??%%%%%%% Seg the image %%%%%%%%%?for i=1:height???? for j=1:width???????? if I(i,j) T_best???????????? I_seg(i,j) = 255;???????? end???? end?end?T_best?figure;?imshow(uint8(I_seg));?figure;?imhist(uint8(I));??????***************************************************??? 一维直方图熵阈值算法
% 1D entropy thresholding method% Pun提出,
文档评论(0)