📄 entroy_noisy1.m
字号:
%最大熵(加高斯噪声)
clc
clear all
tic
I=imread('d:\image\eight.tif','tif');
imshow(I);
b=imnoise(I,'Gaussian',0,0.01); %加高斯噪声
figure;
imshow(b);
ng=zeros(1,256);
gray=255;
[m,l]=size(b);
for i=1:1:m
for j=1:1:l
temp=double(b(i,j));
if temp<=gray
gray=temp;
end
ng(temp+1)=ng(temp+1)+1;
end
end
for i=1:1:256
hg(i)=ng(i)/(m*l);
end
for t=gray:1:255 % t是灰度
E0=0;
E1=0;
P0=0;
for i=0:1:t
P0=P0+hg(i+1);
end
P1=1-P0;
if P0~=0
for i=0:1:t
R0=hg(i+1)/P0;
if R0~=0
E0=E0-R0*log(R0);
end
end
end
if P1~=0
for i=t+1:1:255
R1=hg(i+1)/P1;
if R1~=0
E1=E1-R1*log(R1);
end
end
end
n(t+1)=E0+E1;
if t==gray
Nm=n(t+1);
end
if n(t+1)>=Nm
Nm=n(t+1);
Topt=t;
end
end
Topt
image1=ones(m,l);
for i=1:m
for j=1:l
if b(i,j)<=Topt
image1(i,j)=0;
end
end
end
figure,imshow(image1);
toc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -