資源簡(jiǎn)介
改進(jìn)的Bradley二值化matlab程序,相比bersen或otsu算法,有較快的速率和較好的二值化效果,可以克服一定的光照不均。
代碼片段和文件信息
%[Ibwtime]=Bradley(local)
%算法的流程就是首先得到這個(gè)求和面積表,?其次遍歷所有的像素,?然后以這些像素為
%中心點(diǎn),?計(jì)算S*S大小的矩形的平均顏色,?用來(lái)和當(dāng)前像素比較即可。這個(gè)流程可以
%說(shuō)是相當(dāng)精煉.這里S是寬度的4分之一,?而t是15(亮底暗字),-15(暗底亮字)
%t:當(dāng)前點(diǎn)灰度值比均值高出t個(gè)百分點(diǎn)
%local:輸入圖像
%Ibw:輸出二值圖(0,1)或(0,255)
function?[Ibwtime]=Bradley(local)
tic
if?size(local3)>1
????grayf?=?double(rgb2gray(local));%灰度轉(zhuǎn)化
else
????grayf?=?double(local);
end
[heightwidth]?=?size(grayf);
A?=?height*width;
num=zeros(1256);
s?=?round(width/4);%1/4
s2?=?round(s/2);
t?=?15;%默認(rèn)亮底暗字
????for?i=0:255
????????for?j=1:height
????????????for?m=1:width
????????????????if?grayf(jm)==i
????????????????????num(i+1)=num(i+1)+1;???%i為0到255統(tǒng)計(jì)個(gè)灰度值的個(gè)數(shù)
????????????????end
????????????end
????????end
????end
????
if?sum(num(1:68))/A>0.3
????t?=?-15;
end
%?create?the?integral?image?
評(píng)論
共有 條評(píng)論