資源簡介
最大類間方差閾值matlab程序 子函數 可直接用 參數可調
代碼片段和文件信息
function?image_2=otsu(image_1)??
%image_1=imread(‘d:\1.jpg‘);?%讀入圖片?
image_1=rgb2gray(image_1);%灰度化?
?
[mn]=size(image_1);%計算圖片的像素點個數行列n是列數,Gray?
?
num=zeros(1256);%存放各灰度級出現的次數?
?
p=zeros(1256);%存放各灰度級的比率?
?
image_1=double(image_1);%雙精度化?
for?i=1:m?
????????for?j=1:n?
????????????num(image_1(ij)+1)=num(image_1(ij)+1)+1;%統計各灰度級的像素點個數?
????????end?
????end?
?
????for?i=1:256?
????????p(i)=num(i)/(m*n);%計算各灰度級出現的比率?
????end?
?
for?i=2:256?
????????if?p(i)~=0?
????????????st=i+1;%實現尋找出現比率不為0的最小灰度值?
????????????break?
????????end?
end?
?
for?i=256:-1:1?
????????if?p(i)~=0;?
????????????nd=i-1;%實現找出出現比率不為0的最大灰度值?
????????????break?
????????end?
end?
?
%以下程序實現利用最小方差和法找出門閾值?
w=inf;?th=0;?
?
for?t=st:nd%最小非零比率灰度值到最大非零比率灰
評論
共有 條評論