The OpenMv is a programmable camera with the nickname "Arduino of machine learning. You can complete your project through the MicroPython language. The camera itself has some built-in image processing algorithms, which are easy to use.
Here is the online book:
https://docs.openmv.io/openmvcam/tutorial/overview.html