J

JaneyR

Usuario (México)

Primer post: 3 ene 2011Último post: 3 ene 2011
1
Posts
25
Puntos totales
1
Comentarios
Convolución en matlab
Convolución en matlab
Apuntes Y MonografiasporAnónimo1/3/2011

function = convol2(I, K) I = double(I); %Se obtiene el tamaño en n,m y n1,m1 respectivamente, de la imagen (Ima) y del kernel (K). [n m]=size(I); [n1 m1]=size(K); %Verifica que el tamaño del kernel sea mayor a la imagen. if n>n1 && m>m1 %Se calcula el padding de cada kernel. pad=(n1-1)/2; %Rota el kernel a 180°. K=rot90(K,2); %Se crea una matriz que contendrá a la imagen, para insertarle ceros alrededor dependiendo del padding. zIm=zeros(n+(pad*2), m+(pad*2)); zIm(pad+1:n+pad,pad+1:m+pad)=I; [n m] = size(zIm); %Se crean variables auxiliares I0 = zeros(); for x = pad+1: n-pad for y=pad+1: m-pad aux1 = zIm(x-pad: x+pad, y-pad: y+pad); aux2 = aux1 .* K; I0(x,y) = sum(aux2(); end end %Devuelve la imagen a su tamaño original, quitandole el padding. I = I0(pad+1: n-pad,pad+1: m-pad); I = uint8(I); %Error que envia al ser mayor el kernel que la imagen. else display('error'); end end Les anexo una pequeña función para hacer la convolución en matlab, aunque ya hay una predefinida. Espero les sirva. Besos

25
7
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.