Search code examples
matlabimage-processingthreshold

document image binarization


I'm trying to find effective binarization techniques for document images. I've currently implemented the niblack and sauvola thresholding algorithms and tried binarization based on histogram evaluation as well. Could someone please suggest other binarization methods that have proved to be effective? Here's a sample degraded image I've been working with:

enter image description here

http://spie.org/Images/Graphics/Newsroom/Imported/0681/0681_fig1.jpg

Any suggestions will be much appreciated.


Solution

  • How about starting with simply adapting the threshold based on the local neighborhood?

    im = rgb2gray(im);
    im = im2double(im);
    f_makebw = @(I) im2bw(I.data, double(median(I.data(:)))/1.45);
    bw = ~blockproc(im, [128 128], f_makebw);
    

    Result:

    enter image description here