Red de conocimiento informático - Conocimiento de la instalación - Solicitud para escribir un programa matlab que utilice el algoritmo Otsu para segmentar imágenes

Solicitud para escribir un programa matlab que utilice el algoritmo Otsu para segmentar imágenes

image_1=imread('E:/ebook/lena.bmp');% imagen leída

image_1=rgb2gray(image_1);% gris

[m,n]=tamaño ( image_1);% Calcula el número de píxeles, filas y columnas de la imagen, n es el número de columnas.

Escala de grises

num=zeros(1,256); %Almacena el número de apariciones de cada escala de grises

p=zeros(1,256); %Almacena la proporción de cada escala de grises

image_1=double(imagen_1); % doble precisión

para i=1:m

para j=1:n

num (imagen_1(i) ,j)+1)=num(image_1(i,j)+1)+1;% Calcula el número de píxeles en cada nivel de gris

end

end

for i=1:256

p(i)=num(i)/(m*n );% Calcula la proporción de aparición de cada nivel de gris

end

for i=2:256

if p(i)~=0

st=i+1;% implementación Encuentre el valor de gris mínimo cuya aparición la tasa no es igual a 0

break

end

end

for i=256:-1 :1

if p(i)~=0;

nd=i-1;% para encontrar el valor de gris máximo cuya tasa de aparición no es igual a 0

break

end

end

% El siguiente programa implementa el método de la mínima suma de cuadrados para encontrar el valor crítico de salida

w= inf; th=0;

for t=st: nd% La relación entre el valor de gris de relación mínimo distinto de cero y el valor de gris de relación máximo distinto de cero

qt1=0; = 0;% relación de píxeles fondo-fondo

u1=0; u2=0;% valor promedio fondo-fondo

v1=0;%

para i=1:t

qt1=qt1+p(i

final

para i=1:t

;

u1=u1+i*p(i)/qt1;

fin

para i=1:t

v1=v1+((i -u1)^2)*p(i)/qt1; <

fin

para i=t+1:256

qt2=qt2+p (i);

fin

para i=t+1:256

u2=u2+i*p(i)/qt2; >

fin

para i=t+1:256

v2=v2+((i-u2)^2)*p(i)/qt2

final

if qt1*v1+qt2*v2

th=t; fin

fin

para i= 1:m

para j=1:

if (imagen_1(i,j)+ 1>ésimo)

imagen_2(i,j)=255

más

imagen_2(i,j)=0; > fin

fin

fin

image_2=uint8(image_2);%lectura en lectura en salida transformada

figura,imshow(image_2 );%mostrar imagen binarizada