Can anyone explain me what is the difference between OpenCV and OpenCL? What is suitable for Android image processing in Java?
OpenCL is a standard for large scale parallel processing, it can help image processing but it is very low level and is designed for simplify the way to take advantage of many cpu cores and gpu stream processors.
OpenCV is a library for computer vision, includes a lot of generic image processing routines and high level functions to support face recognition etc.
It is quite easy to have an eye on wikipedia or google with two terms.
Just to add another point, there are functions in OpenCV that are implemented using OpenCL. These can be called using the “ocl” modules. Have a look here: ocl documentation in OpenCV