v3.6.3¶
v3.6.3 enables TensorFlow on the OpenMV 3 / F7, adds uint8/int8/float32
model support, switches the MLX90640/AMG8833 thermal sensors to hardware I2C,
adds image-diff histograms and lens-correction offset, and reworks readout
control. The image hint constants were renamed and draw_image() scaling
changed — read the breaking changes below.
Highlights¶
TensorFlow on OpenMV 3 / F7 —
tfenabled on the F7-based cameras, with uint8/int8/float32 model support.Thermal sensors — MLX90640 and AMG8833 switched to hardware I2C with a new MLX90640 driver.
Imaging — image-diff support in
get_histogram()and offset correction forlens_corr().draw_image — alpha palettes in grayscale mode and reworked readout control.
Breaking: the
imagehint constants were renamed anddraw_image()negative scaling was removed — see the breaking changes.
New features¶
TensorFlow — enabled
tfon OpenMV 3 / F7 and updated TensorFlow to support uint8 / int8 / float32 models.get_histogram()— added image-diff capability.lens_corr()— added offset correction.draw_image()— alpha palettes now work in (non-bilinear) grayscale mode, with bilinear-interpolated alpha palettes and image centering; new readout-control code.
Other changes and improvements¶
Switched the MLX90640 and AMG8833 to hardware I2C (new MLX90640 driver, board-config HW I2C for external sensors, higher MLX readout retry), enabled I2C fast-mode-plus on cameras that support it, added cambus read/write-bytes with I2C timings, and skipped applying alpha when it is 0 for performance.
Bug fixes¶
Camera and imaging:
Fixed and sped up rotation correction, the left-edge Bayer-to-YCbCr bug, and added an edge fix to
bayer_to_y()/bayer_to_binary().
Tooling:
Fixed Python 2/3 errors and the
get_statistics()call order.
Breaking API changes¶
User-visible API breaks between v3.6.2 and v3.6.3. Scope: Python C-modules in
modules/ and Python libraries in scripts/libraries/.
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. If you just want to port your code, jump to the migration checklist at the end. Each commit hash links to its diff on GitHub.
image hint constants renamed (minor)¶
The image drawing hint constants were renamed:
image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR and
image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Scripts passing the old
constant names to draw_image() must use the new names. (These are renamed
again to image.BILINEAR / image.CENTER in v3.7.0.)
Commits: 8f8872537
draw_image() negative scaling removed (behavior)¶
image.draw_image() no longer supports negative scaling, and the texture
sample point was moved to the center of the pixel. Scripts that relied on
negative scaling to flip an image during draw must flip it another way, and
output may shift by up to half a pixel versus before.
Commits: 7e83dbb92
Migration checklist¶
Rename image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER to
image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER
(the hint-constant rename), and replace any
draw_image() negative scaling with an explicit flip
(the draw_image scaling change). All other scripts
run unchanged.