Image processing is an extensive field with many theoretical aspects. Learning image processing involves reading books, articles and developing algorithms. You can go even further, investigating the structure of the human eye and neurocognitive aspects of the vision in order to understand the foundations of image observation.
Books:
- Digital Image Processing (3rd Edition) by Gonzalez, Rafael C. and Woods, Richard E. (Jun 20, 2012)
- Digital Image Processing: An Algorithmic Introduction using Java by Wilhelm Burger and Mark J. Burge (Jan 19, 2012)
- Machine Vision, Third Edition: Theory, Algorithms, Practicalities (Signal Processing and its Applications) by Davies, E. R. (Dec 22, 2004)
- Vision: A Computational Investigation into the Human Representation and Processing of Visual Information by Marr, David, Ullman, Shimon and Poggio,
Guidance of topics to learn (my opinion):
- Introduction to Digital Image Processing
- Human Visual System
- Color Models
- Color Image Processing
- Filtering
- Image Transformations
- Morphological Image Processing
- Segmentation
- Feature Extraction (edges, lines, corners, etc)
- Image Restoration
If you want to recognize objects and patterns, you need to study pattern recognition. It is a complex field with concepts of image processing, statistics, mathematical optimization and machine learning.
As you can see it is long journey. Along with reading, of course you have to implement some computer programs. I think you need to balance between implement your own algorithms and use frameworks. Below is a list of Java frameworks and tools may help you:
- ImageJ ( http://rsbweb.nih.gov/ij/index.html): image processing program developed at the National Institutes of Health.
- Marvin Framework (http://marvinproject.sourceforge.net/): project that aims to provide an easy to use and extensible framework for image processing and computer vision.
- JMagick (http://www.jmagick.org/index.html): Java wrapper for ImageMagick
- JAI (enter link description here): Original Sun's Java Advanced Imaging
- JIU (http://sourceforge.net/projects/jiu/): Java Image Utilities
Machine learning tools and framework:
I invite other stackoverflow contributors to improve this post.