Berry: add cam module, img class #21743
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
The main intention of this PR is to free up as much heap memory as possible for machine learning applications while using a connected camera module. I measured about 20 kB heap use reduction. This is not meant as replacement for any of the other webcam drivers. Uses JPEGDEC library with SIMD support on the ESP32-S3.
Compile with:
webcam
module to Berry with simple picture acquisitionimg
class to Berry as a thin container for image data in order to read images from the camera or from a file, while providing conversions and extraction of regions of interestTested with a self trained model to read 7 segment digits of a display (which could be an "unsmart" device of any kind) with still about 80 kB free heap on a cheap ESP32 cam board with 4 MB PS-RAM.
More examples:
I would update Tasmotas docs with the content of my preliminary documentation: https://staars.github.io/docs/Berry_import/#img-class
Checklist:
NOTE: The code change must pass CI tests. Your PR cannot be merged unless tests pass