91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-09
  • 語言: Matlab
  • 標簽: 二值化??

資源簡介

基于直方圖的灰度圖二值化程序,可以針對圖片,自動尋找一個合適的閾值進行二值化,自己編寫的,基于Matlab的程序。

資源截圖

代碼片段和文件信息

%自適應(yīng)濾波算法
%程序狀態(tài):完成
pic=imread(‘e:\test-pic\mi.jpg‘);
%imshow(pic);
%pic=rgb2gray(pic);
pic=imresize(pic3);
[picxpicy]=size(pic);
%改變原圖的直方圖分布,測試自適應(yīng)濾波的效果
for?i=1:picx
????for?j=1:picy
????????pic(ij)=pic(ij)/2;
????end
end
pic=pic+128;
pic=uint8(pic);
figure(1);
imshow(pic);
title(‘原圖‘);

%計算直方圖
figure(2);
pich=imhist(pic);
sigma=2;
t=-floor(3*sigma):1:floor(3*sigma);
g=1/sqrt(2*pi)/sigma*exp(-1/2*(t).^2/sigma^2);
g=g/sum(g);
%imhist(pic);
%plot(pich);
pich1=conv(pichg);
pich1=pich1(floor(3*sigma)+1:size(pich1)-floor(3*sigma));
pich1=pich1/picx/picy;%直方圖歸一化
%pich1=medfilt1(pich13);
plot(pich1);

%指定閾值計算二值圖像
pic1=zeros(size(pic));
[picxpicy]=size(pic);
threshold=0.4;
threshold=threshold*255;
for?i=1:picx
????for?j=1:picy
????????if?pic(ij)<=threshold
????????????pic1(ij)=0;
????????elseif?pic(ij)>threshold
????????????pic1(ij)=255;
????????end
????end
end
figure(3);
imshow(pic1);
title(strcat(‘二值化,sigma=‘num2str(threshold)));

%根據(jù)混合高斯模型,自適應(yīng)二值化
%peak1與peak2記錄了從兩邊數(shù)的第一個峰值
%混合高斯模型的t肯定在這兩個峰值之間
peak1=0;
peak2=0;
for?i=1:256
????if?pich1(i)>pich1(i+1)&&pich1(i+1)>pich1(i+2)&&pich1(i+2)>pich1(i+3)
????????peak1=i;
????????break;
????end
end
for?i=256:-1:1
????if?pich1(i)>pich1(i-1)&&pich1(i-1)>pich1(i-2)&&pich1(i-2)>pich1(i-3)
???

評論

共有 條評論