V=uint8(zeros(9,1));
I1=imread('im1.jpg');
[m,n]=size(I1);
for i=2:m-1;
for j=2:n-1
V=uint8(I1(i-1,j-1)+I1(i-1,j)+I1(i-1,j+1)+I1(i,j-1)+I1(i,j)+I1(i,j+1)+I1(i+1,j-1)+I1(i+1,j)+I1(i+1,j+1));
I1(i,j)=V/9;
end
end
imshow(I1);
Wednesday, May 6, 2009
Subscribe to:
Post Comments (Atom)
Código corregido
ReplyDeleteV=zeros(9,1);
clear all;
clc
I1=imread('im1.jpg');
[m,n]=size(I1)
for i=2:m-1
for j=2:n-1
V=[I1(i-1,j-1),I1(i-1,j),I1(i-1,j+1),I1(i,j-1),I1(i,j),I1(i,j+1),I1(i+1,j-1),I1(i+1,j),I1(i+1,j+1)];
a = sum(V);
I1(i,j)=uint8(a/9);
end
end
imshow(I1);
Que pasa, al sumar Matlab herd el tipo de dado al resultado de la suma lo trunca a 256 y divide 256 y no el val.or que debe dividir
ReplyDeleteComo lo solucionamos, pasamos primero los datos a una matriz, luego sumamos la matris y luiego dividimos y evitamos que el matlab herede el dato dividimos y de ahi le casteamos a unit8
ReplyDelete