v4.4.3

v4.4.3 では OpenMV RT1060(NXP i.MX RT1060)ボードが導入され、大幅に拡張された MJPEG 録画 API、新しい ISP 画像メソッド(自動ホワイトバランス、カラー補正マトリクス、ガンマ)、そして MicroPython 1.20 が追加されました。Arduino のボード名が変更され、MJPEG のデフォルトが変わっています。以下の破壊的変更をお読みください。

ハイライト

  • OpenMV RT1060 — 新しい NXP i.MX RT1060 ボード(および REV2 リビジョン)。

  • 拡張された MJPEG APIwrite()countis_closedsync()、ROI/パレット/アルファのキーワード、そしてファイナライザ。

  • 新しい ISP メソッドimage.awb()image.ccm()image.gamma()

  • MicroPython を 1.20.0 に更新。

  • 破壊的変更: Arduino のボードターゲットがリネームされ、MJPEG のデフォルト品質が変更されました。破壊的変更を参照してください。

新機能

  • OpenMV RT1060 — 完全な NXP i.MX RT1060 ポート(センサー、GPIO、I2C、SPI ドライバ)とボード設定、加えて RT1060 REV2 ボードリビジョンのサポート、および i.MX RT ポートでの machine.RTC アラーム/ウェイクアップ。

  • MJPEG — 新しい Mjpeg.write() メソッド(roirgb_channelalphacolor_palettealpha_palettehint のキーワード付き)、加えて countis_closedsync()__del__ ファイナライザ、そして MJPEG / Mjpeg / mjpeg のコンストラクタエイリアス。

  • ISP 画像メソッドimage.awb([max])(自動ホワイトバランス)、image.ccm(matrix)(3x3 / 4x3 カラー補正マトリクス)、image.gamma(gamma, contrast, brightness)

  • AprilTag — 新しい浮動小数点の重心属性 cxf / cyfcx / cy は引き続き丸めた整数を返します)。

  • MLtf.regression() が ulab の ndarray を受け付けるようになり、2D 入力テンソルをサポートしました(1D も引き続きサポート)。同梱の libtf ライブラリで追加の TensorFlow Lite 演算が有効化されました。

その他の変更と改善

  • MicroPython を 1.20.0 に更新。ulab を 6.0.12 に更新しました。

  • image.gamma / gamma_corr が ISP メソッドとして再設計され、Bayer および YUV 画像をサポートするように拡張されました(変更可能な画像だけではありません)。

  • STM32 ボード(Portenta H7、Nicla Vision)がオープンソースの cyw43 WiFi ドライバに切り替わりました。

  • rtsp ライブラリが移植可能になりました(pyb の代わりに random/time を使用)。urequests が常にソケットを閉じるようになりました。

バグ修正

カメラとセンサー:

  • Arduino Nano 33 BLE Sense での OV767x クロックレート (CLKRC)、OV7670 の CLKRC バイパス/プリスケーラ処理を修正し、Arduino Nicla Vision / ML キット(nrf ポート)で入れ替わっていた D0/D1 データラインを修正しました。

システムと USB:

  • TinyUSB デバッグモードでの短い USB パケットの処理を修正しました(より信頼性の高い IDE/ホスト転送)。

  • OpenMV RT1060 の点滅 LED の極性と、電源投入時の SD カード検出を修正しました。

ハードウェアとボードのサポート

  • OpenMV RT1060 — 新しい NXP i.MX RT1060 ボード、加えて REV2 リビジョン。

  • STM32 — Portenta H7 / Nicla Vision がオープンソースの cyw43 WiFi ドライバに移行しました。

破壊的 API 変更

v4.4.2 から v4.4.3 までのユーザーに見える API の破壊的変更です。範囲: modules/ 内の Python C モジュールと scripts/libraries/ 内の Python ライブラリ。

各変更にはその影響度のタグが付いています:

  • behavior — 同じ API ですが結果が異なります。チューニング済みのスクリプトを再確認してください。

  • tooling — ボードの命名/フラッシュに影響し、Python API には影響しません。

変更はこの順序で影響度別にグループ化されています。各コミットハッシュは GitHub 上の差分にリンクしています。

MJPEG のデフォルトとエラー処理 (behavior)

MJPEG 録画コードが全面的に見直されました。デフォルトの add_frame() / write() の JPEG quality が 50 から 90 に引き上げられ(デフォルトで録画がより大きく高品質になります)、無効な品質は ValueError を発生させるようになり、閉じられたファイルに対する操作は OSError を発生させるようになり、録画メソッドは Mjpeg オブジェクトを返すようになりました。古いデフォルト品質や以前のエラー動作に依存していたスクリプトは再確認してください。

コミット: 3fc55ad31

Arduino ボードターゲットのリネーム (tooling)

Arduino のボードターゲットが更新された命名規則にリネームされ、すべてのボードマニフェスト(フリーズされたモジュールセット)がリフレッシュされました。これは Python API を変更しませんが、Arduino ボードのビルドやフラッシュに使用するファームウェアファイル/ボード名が変更されました。それに応じてツールを更新してください。

コミット: 77a7d16c0, 59d9f2603

移行チェックリスト

v4.4.3 へのクリーンな移植のために: 新しいデフォルト品質とエラー動作について MJPEG 録画を再確認し(MJPEG の変更)、リネームされた Arduino ボードターゲットに合わせてビルド/フラッシュツールを更新してください(ボードのリネーム)。その他のスクリプトはすべて変更なしで動作します。