The Geospatial Data Abstraction Library (GDAL) is your go-to for your image analysis needs, and its Python bindings are very well documented and widely used.
If you want to deep dive into its inner workings you can go through the official tutorial: https://gdal.org/api/python.html
Otherwise, if you want to check out some very useful code snippets and learn as you code, I recommend the Python GDAL/OGR Cookbook: https://pcjericks.github.io/py-gdalogr-cookbook/
Finally, if GDAL is overkill for your use case, you may want to consider using Pillow, a fork of the Python Imaging Library (PIL): https://pillow.readthedocs.io/en/stable/handbook/tutorial.html
Depending on the image format, both libraries will allow you to import the band values as numpy arrays.