J'avais exactement le même problème:
- seuillage ok.
- filtrage ok seulement pour image carrée.
et il s'est avéré que c'était dû a une mauvaise initialisation de tout mes vectors (inversion lignes/cases) et d'autre erreurs ligne/case dans les boucles for et dans l'ordre de declaration vectors ([ligne] [case]).