Para ello en Matlab,obtenemos una imagen, que seria la que vamos a enviar por el canal, le agregamos ruido que representaría la transmisión de la imagen por el canal y por ultimo filtraremos la imagen para poder recuperar la señal de la forma mas similar a la señal enviada:
Codigo:
foto=imread('imagen.png');%obtenemos la señal
figure,imshow(uint8(foto))
foto=imnoise(foto,'salt & pepper');%añadimos ruido a la señal
foto_R=foto(:,:,1);
foto_G=foto(:,:,2);
foto_B=foto(:,:,3);
foto1(:,:,1)=foto_R;
foto1(:,:,2)=foto_G;
foto1(:,:,3)=foto_B;
figure,imshow(uint8(foto1))
filtro=1/9*[1 1 1;1 1 1;1 1 1];%creamos el filtro para poder recuperar la señal
foto2_R=filter2(filtro,double(foto_R));%filtramos cada componente de la señal
foto2_G=filter2(filtro,double(foto_G));
foto2_B=filter2(filtro,double(foto_B));
foto2(:,:,1)=foto2_R;
foto2(:,:,2)=foto2_G;
foto2(:,:,3)=foto2_B;
imshow(uint8(foto))
figure,imshow(uint8(foto2))
Resultados:
Primero representamos la señal enviada por el canal:
Al convolucionar la señal con el filtro se obtiene la imagen representada anteriormente donde vemos que mejora un poco la calidad de la señal
No hay comentarios:
Publicar un comentario