A treasure of features can be found in the OpenCV package. This package is coded in C/C++ and exposed to Python.
It offers, among others, many features for image and video manipulation. It also features machine learning functions.
OpenCV is carried by a large scientific community. If you are planning to do a project with images or video, OpenCV will be your friend!
OpenCV uses Numpy, so make sure you install Numpy before attempting to install OpenCV.
You can install OpenCV using pre-built libraries or building from source code. Read these installation instructions.