35

Can anyone suggest a good open-source image processing library in Java? I want to develop an OMR reader using it.

Don Kirkby
  • 53,582
  • 27
  • 205
  • 286
user267067
  • 719
  • 2
  • 10
  • 11
  • 3
    possible duplicate of [What is the best java image processing library/approach?](http://stackoverflow.com/questions/603283/what-is-the-best-java-image-processing-library-approach) – ripper234 Nov 28 '11 at 15:46

5 Answers5

50

There are a number of options out there, each with their own features and drawbacks. If you want to discuss your needs in more detail, I can touch on the specific attributes of each library as it relates to your project:

pents90
  • 1,782
  • 17
  • 17
RTBarnard
  • 4,374
  • 27
  • 27
  • thanks for replying.do u know any ope src api for OMR?? – user267067 Mar 09 '10 at 07:25
  • I have no personal experience with OMR (Optical Mark Recognition, right?), but http://www.cs.uwaterloo.ca/~a3seth/udai/OMRProj/README.html seems to be a viable starting point. – RTBarnard Mar 09 '10 at 07:31
  • I just noticed that this question was also asked by you, but I'll leave it here for posterity: "You might also take a look at this related question: http://stackoverflow.com/questions/2399458/open-source-library-for-optical-mark-reader" – RTBarnard Mar 09 '10 at 07:33
  • @RTBarnard: I need to get the pixel value of `.tif` image as described here: http://stackoverflow.com/questions/7421904/getting-the-pixel-value-of-a-tiff-image-in-java; Speed is one of my main concerns, what would you suggest for this? Thanks – Marsellus Wallace Sep 14 '11 at 19:32
6

JAI

leonm
  • 6,454
  • 30
  • 38
5

Marvin Image Processing Framework

http://marvinproject.sourceforge.net

Gabriel Archanjo
  • 4,547
  • 2
  • 34
  • 41
Joseph
  • 61
  • 1
  • 1
2

and the dead-simple one: imgscalr

Flux
  • 9,805
  • 5
  • 46
  • 92
Alex Povar
  • 4,890
  • 3
  • 29
  • 44
1

I would suggest using JAI, as mentioned, for the imaging side, but for writing an OMR application you will need template registration. This can be achieved using OpenCv. This works with Java (as well as many other languages and platforms).

Without good image registration, regardless of image processing library, you will end up missing some of the marks on some scans, as you will find that some scans are shifted due to the way scanners work.

Paul Bartlett
  • 673
  • 1
  • 9
  • 14