v4.5.5¶
v4.5.5 is a small maintenance release focused on image-buffer cache coherency, sensor-reset reliability, and morphology API tidy-up.
Highlights¶
More reliable capture — video buffers are now cache-invalidated before use, and the sensor reset/power-down delay was increased.
Breaking:
morph()’sksizeis now positional and the obsolete pooling methods were removed (see the breaking changes).
Other changes and improvements¶
Increased the delay after sensor reset / power-down for more reliable camera start-up (the Portenta H7 overrides these delays for its sensor).
Bug fixes¶
Fixed the
erode()mask check.Video buffers are now cache-invalidated before being returned, preventing stale/corrupted image data.
i.MX RT: a camera transfer is retried if the DMA is still busy; STM32: video-buffer state is reset when frames are dropped.
Breaking API changes¶
User-visible API breaks between v4.5.4 and v4.5.5.
Each change is tagged with its impact:
minor — narrow API; only affects scripts that used it.
behavior — same API, different results; re-check tuned scripts.
Changes are grouped by impact in that order. Each commit hash links to its diff on GitHub.
morph() ksize positional; pooling removed (minor)¶
The morph() kernel-size ksize argument is now a positional argument.
The obsolete Image.pool() family of pooling methods was removed.
Image conversion argument parsing standardized (behavior)¶
The image conversion methods (Image.to_*() / to()) were moved onto the
standardized mp_arg_parse_all argument parser. Calls that relied on the
old positional/keyword ordering may need adjusting.
Commit: 3fee02ffb
Migration checklist¶
For a clean port to v4.5.5: pass morph()’s ksize positionally, drop
any use of the removed pooling methods
(the morphology change), and re-check argument order in
image conversion calls (the conversion-parsing change).