At first glance, it may seem that projects need to be built on powerful computing platforms with lots of clock cycles and memory to handle such applications using a wide range of computer vision or machine learning. While there is some truth to this, with the advancement of the field it became possible to experiment with these tools on low-power devices as well. Take for example this OpenCV project built entirely on an ESP32.
That being said, ESP32 needs to make some changes to use OpenCV in any meaningful way. The most important of these is the use of the ESP32-DOWDQ6 module which increases the available memory of ESP32 so that it can make better use of the camera functions. Even then, ESP32 cannot run the full OpenCV application, so a compressed version of OpenCV is required before the device can run natively. Once these two obstacles get out of the way, though, doing things like edge detection, as this project shows, is good in the realm of possibility.
If it is possible to run OpenCV on something as small as ESP32, it is easier to run on some of the more powerful and still cheaper orders like Raspberry Pi. While the project code is available for those interested on its GitHub page, there are plenty of other OpenCV projects that we’ve featured on more powerful platforms, such as this watch falling off the wall whenever anyone looks at it.
Thanks [ninjan33r] For the tip!