
Hacer filtro 3x3 de convolucion 2D sin comandos de Matlab
Publicado por David Garay (8 intervenciones) el 21/03/2014 02:39:07
Yo quiero implementar un filtro 3x3 de convolucion 2D para procesar una imagen pero sin usar los comandos de matlab(filter2d, conv2d, etc)
La teoria dice que los coeficientes del filtro 3x3 deben ser asi
m1 m2 m3
m4 m5 m6
m7 m8 m9
Las condiciones para esos coeficientes son: m1=m9, m2=m8, m3=m7, m4=m6
teniendo eso, el filtro aplicado a la imagen seria algo como
m1 * I(x-1,y-1) m2 * I(x-1,y) m3 * I(x-1,y+1)
m4 * I(x,y-1) m5 * I(x,y) m6 * I(x,y+1)
m7 * I(x+1,y-1) m8 * I(x+1,y) m9 * I(x+1,y+1)
Pero no se como implementar esto en matlab, porque la idea es que el centro del filtro (m5) quede ubicado en el primer pixel de la imagen, o la 1ra coordenada de la matriz, y de ahi empezar a aplicar el filtro para el resto de la imagen
Les agradeceria mucho si me ayudan con este problema de implementacion :D
La teoria dice que los coeficientes del filtro 3x3 deben ser asi
m1 m2 m3
m4 m5 m6
m7 m8 m9
Las condiciones para esos coeficientes son: m1=m9, m2=m8, m3=m7, m4=m6
teniendo eso, el filtro aplicado a la imagen seria algo como
m1 * I(x-1,y-1) m2 * I(x-1,y) m3 * I(x-1,y+1)
m4 * I(x,y-1) m5 * I(x,y) m6 * I(x,y+1)
m7 * I(x+1,y-1) m8 * I(x+1,y) m9 * I(x+1,y+1)
Pero no se como implementar esto en matlab, porque la idea es que el centro del filtro (m5) quede ubicado en el primer pixel de la imagen, o la 1ra coordenada de la matriz, y de ahi empezar a aplicar el filtro para el resto de la imagen
Les agradeceria mucho si me ayudan con este problema de implementacion :D
Valora esta pregunta


0