[Insight-users] Binary Image segmentation

Luis Ibanez luis.ibanez at kitware.com
Sun Aug 5 13:23:00 EDT 2007


Hi Gopal,


     Thanks for better describing your problem.


In your case, it seems that  what you are segmenting
(rather classifying) are the symbols in the document.

Is that right  ?

It will still help a lot if you post somewhere a representative
image of your problem.



Before getting to a classification stage you will need to
define appropriate *descriptors* that capture the uniqueness
of each one of the symbols.


Funny enough, you the first step is to start by considering
your "binary" image as a grayscale images, and apply for
example a Hessian image filter.

Then pass the output of  Hessian filter to the EigenAnalysis
filter and obtain the eigen vectors and eigen values at
every pixel in your image.

If your image is composed of letters, then you will be able
to "detect" the linear part of the letters as "ridges"
in intensity.

You will also be able to detect the crossings between lines
as regions where the two eigen values are similar.

Look for example at:

     http://www.itk.org/HTML/Curve2DExtraction.htm

You will find the code of this application in the
InsightApplications checkout.

Note that this applications is only looking for ridges,
and therefore uses a pattern recognition approach that
is very specific to ridges.

You may want to extend it in order to capture also
corners, crossings.... etc.


Do you already have a way of defining regions of interest
around letters ? words ? in the document. If not, you should
explore a method for it.

Given a region of interest, and having detected particular
features of the letter traits (ridges, corners, crossings,
ends), you could use the combination of features in order
to distinguish some letters from others.

for example the letter "O" doesn't have crossings, ends,
or corners), while the letter "A" has two crossings, two
ends, one corner, and 5 segments that look like ridges.


Note that code for analyzing vasculature has a lot in common
with the problems that you will face when performing text
recognition.


Please give it a try at the Curve2DExtractor application,
and let us know how it goes for you.


    Regards,


       Luis


-------------------------------------
gkaremore at scai.fraunhofer.de wrote:
> Hello Dan
> 
> Thanks for your effort in understanding the problem. I meant by word
> segmenting is not with respect to medical(or other)image processing, my
> application is Document image segmentation. In another words , It would be
> called as multiclass labeling problem. Please see following papers related
> to binary image segmentation.
> 
> Bayesian decision feedback for segmentation of binary images
> Kadaba, S.R.; Gelfand, S.B.; Kashyap, R.L. Acoustics, Speech, and Signal
> Processing, 1995. ICASSP-95., 1995 International Conference on
> Volume 4, Issue , 9-12 May 1995 Page(s):2543 - 2546 vol.4
> 
> Strzelecki M., Segmentation of Binary Images Using Network of Oscillators,
> 2 Krajowa, Konferencja Komputerowe Systemy Rozpoznawania KOSYR 2001, 28-31
> May 2001
> 
> Especially papers from "International Journal of Document Analysis and
> Recognition (IJDAR) - Computer Imaging, Vision, PR and Graphics "
> 
> My criterion to cluster is Shape:
> 
> I want rectangular,square, and horz and verticle line component to be
> labbled in separation to Text and graphics on the document(Under
> segmentation/clustering/labeling).
> 
> currently I am trying with "Feature extraction" section of ITK toolbox.
> Results are not appreciable. So looking for a different approach using ITK
> library.
> 
> Thanks in advance.
> 
> Sincerely
> Gopal
> 
> 
> Dan Homerick wrote:
> 
>>Hi Gopal,
>>
>>I'm not sure if I understand what you mean by segmenting a binary image.
>>"Segmentation" is typically reducing a grayscale or color image so that
>>only
>>a few values are used, done in such a way that each color in the resulting
>>image has some semantic meaning. If you're starting with a binary image,
>>there's not much segmentation that can be done.
>>
>>It sounds like what you really want is to cluster (unconnected) components
>>of your binary image into logical objects. By what criteria do you want to
>>cluster them (spatial proximity, similarity of size, shape, other)? I
>>don't
>>think there will be a simple filter to accomplish that, but if you can
>>provide more details of what you intend to do, the mailing-list may be
>>able
>>to provide some guidance.
>>
>>Cheers,
>> - Dan
>>
>>On 8/2/07, gkaremore at scai.fraunhofer.de <gkaremore at scai.fraunhofer.de>
>>wrote:
>>
>>>Dear All
>>>
>>>Does ITK help in segmenting binary images. In another words ITK
>>>segmentation library provides function to segment only gray scale and
>>>color image. Will ITK helpfull in segmenting binary images in  to
>>>different clusters. (Tried Binary threshold filter, connected component
>>>algorithms).
>>>
>>>Is there any other method by which we can segment binary image in ITK.
>>>
>>>Any comments would be appreciable.
>>>
>>>Sincerely
>>>Gopal
>>>
>>>Research Scholar
>>>Fraunhofer Institute
>>>Germany
>>>_______________________________________________
>>>Insight-users mailing list
>>>Insight-users at itk.org
>>>http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 


More information about the Insight-users mailing list