2012-04-18 14 views
12

ive esta foto:algoritmo de binarización Niblack Documento

enter image description here

y yo estoy tratando de hacer binarización de documentos utilizando el algoritmo Niblack he implementado el algoritmo simple Niblack

T = media + K * standardDiviation

y que fue resultado es:

enter image description here

el problema es que hay algunas partes de la imagen en las que la ventana no contiene ningún objeto por lo que detecta el ruido como objetos y los elabora.

traté de aplicar el filtro desenfoque continuación umbral mundial que fue el resultado:

enter image description here

la que solía ser resuelto por cualquier otro filtro que supongo que la única solución es la prevención del algoritmo de detección de ruido mundial si la ventana me libera del objeto

, estoy interesado en hacer esto usando el algoritmo de niblack que no usa otro algoritmo, ¿alguna sugerencia?

+0

Ver también: http://liris.cnrs.fr/christian.wolf/software/binarize/ –

Respuesta

11

Traté algoritmo Sauvola en esta sección de papel Adaptive document image binarization J. Sauvola*, M. PietikaKinen 3.3

es una versión modificada del algoritmo de Niblack que utiliza una ecuación modificada de Niblack enter image description here

que volvió a bastante buenas respuestas: enter image description here

, así como probé otra modificación de Niblack que se implementa en this paper en el 5.5 Algoritmo N. ° 9a: Université de Ly en, INSA, Francia (C. Lobo, JM Jolion)

que volvió a buenos resultados, así:

enter image description here

3

No te ves aquí: https://stackoverflow.com/a/9891678/105037

local_mean = imfilter(X, filt, 'symmetric'); 
local_std = sqrt(imfilter(X .^ 2, filt, 'symmetric')); 
X_bin = X >= (local_mean + k_threshold * local_std); 

no veo muchas opciones aquí si insiste utilizar Niblack. Puede cambiar el tamaño y el tipo del filtro, y el umbral.

Por cierto, parece que su imagen original tiene colores. Esta información puede mejorar significativamente la detección de texto negro.

1

Hay variedad de métodos que pueden ayudar en esta situación:

  1. Por supuesto, puede cambiar Algoritmo auto =)
  2. También es posible aplicar filtros de morfología: primero aplica el máximo en la ventana y después - mínimo.Debe ajustar el tamaño de las ventanas para lograr un mejor resultado, consulte wiki.
  3. Puede elegir la manera más dura pero mejor y tratar de mejorar el esquema de Niblack. Es necesario aumentar el tamaño de las ventanas de Niblack si la desviación estándar es menor que un número fijo (debe ajustarse).