Algoritmo de harris en simulink
Lo primero que se hace con el algoritmo es capturar el video, convertirlo a escala de grises y convertir el tipo de imagena doble, para evitar problemas con los calculos. Despues de eso se le aplica una ganancia de 255, ya que la conversion a doble normaliza losvalores de la imagen y el algoritmo requiere valores de entre 0 y 255.
Aquí aplicamos un filtro box para la eliminacion de ruido y despues un sobelpara la deteccion de bordes.
Hacemos las multiplicaciones elemento para obtener los valores que necesitamos.
A cada uno de los elementos seles aplica un filtro gaussiano para eliminar falsas esquinas.
Aquí aplicamos la formula de deteccion de esquinas de Harris, que es: (A*B -C^2)-(A+B)^2
Comparamos con una constante para reducir las regiones.
Multiplicamos el resultado anterior por la suma de los dos gradientes ensobel. Hacemos esto debido a que las esquinas son lugares tanto con gradiente en X como en Y por lo que sus valores deben ser altos, de esta formaconvertimos la imagen binaria obtenida en el paso anterior en una a la que se le puede aplicar un filtro maximo para reducir las regiones de esquinas aun solo punto.
function v=cornerm(u) s=3; [m n]=size(u); v=u; max=0; for i=1:m for j=1:n if(v(i,j)>0) max=v(i,j); for k=i-s:i+s for l=j-s:j+s tryif( v(k,l)>max) max=v(k,l); end end end end for k=i-s:i+s for l=j-s:j+s try if(v(k,l)0) try v(i,j)=0; v(i-1,j)=-1; v(i,j-1)=-1; v(i-1,j-1)=-1; if(i
Regístrate para leer el documento completo.