v3.6.0¶
v3.6.0 では、新しい高解像度フレームサイズ(HD / FHD / QHD / QXGA / WQXGA)を備えた OV5640 5 MP カメラの完全サポートを提供し、コアを MicroPython 1.12 に更新し、ソフトウェア JPEG エンコーダ と AprilTag / 線検出を大幅に最適化し、OpenMV Cam H7 Plus での UVC(USB ビデオ) を追加し、最大 32 MB の QSPI フラッシュをサポートします。MicroPython の動作と get_histogram() が変更されました — 以下の破壊的変更をお読みください。
ハイライト¶
OV5640 5 MP — 新しい HD / FHD / QHD / QXGA / WQXGA / WQXGA2 フレームサイズを備えた完全なカメラドライバー。
MicroPython 1.12 — 同梱のコアを更新しました。
より高速なパイプライン — ソフトウェア JPEG エンコード、AprilTag 検出、LSD 線検出、
histeq()、QR コードのデコードを大幅に最適化しました。H7 Plus での UVC — OpenMV Cam H7 Plus が USB ビデオデバイスとして動作できます。
破壊的変更: MicroPython の動作、
image.get_histogram()の正規化、および OpenMV 3 の JPEG/グレースケール出力が変更されました — 破壊的変更を参照してください。
新機能¶
OV5640 — OV5640 5 MP カメラの完全サポート(センサー初期化での外部クロック設定)と、新しい
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2フレームサイズ定数を追加しました。TIM4 — MicroPython から使用できるように解放しました。
DAC のタイミング書き込みのサンプル(
dac_write_timed.py)を追加し、dac_control.pyをdac_write.pyにリネームしました。
その他の変更と改善¶
同梱の MicroPython を 1.12 に更新し、ソフトウェア JPEG エンコーダ(VGA パス、グレースケール/バイナリパス、浮動小数点演算の代わりに整数演算、最適化された MCU キャプチャ)、LSD の
find_line_segments()、AprilTag 検出、Image.histeq()、QR コード / RGB からグレーへの変換を大幅に最適化し、最大 32 MB のチップに対応した QSPI フラッシュサポートを追加し、廃止された CMSIS-CNN のcnn.pyサンプルを削除しました。
バグ修正¶
カメラとイメージング:
HQQQVGA での JPEG エンコードの破損、バイナリ(1 ビット)画像 → JPEG 圧縮、
find_line_segments()のリグレッション(NOTDEF非整列チェックを再有効化)、および軽微な OV2640 ドライバーの問題を修正しました。
システムとブート:
セルフテスト / ファイルシステムの破損(
selftest.pyが USB MSC を有効化する前に実行されるようになり、致命的なエラー時にはホストがエラーログを読めるよう USB MSC を有効化)、pyb.DACのwrite_timed()、H7 のmachine.I2Cタイミング、ストップモード後の F7 オーバードライブ再有効化、およびstop_mode.pyのrtc.wakeup()間隔を修正しました。
ハードウェアとボードのサポート¶
OV5640 — 高解像度フレームサイズを備えた完全な 5 MP カメラドライバー。
OpenMV Cam H7 Plus — UVC(USB ビデオ)のサポート。
OPENMV4RボードターゲットはOPENMV4Pにリネームされました。QSPI フラッシュ — 最大 32 MB のチップがサポートされるようになりました。
API の破壊的変更¶
v3.5.2 と v3.6.0 の間でユーザーに見える API の破壊的変更があります。対象範囲: modules/ 内の Python C モジュールと scripts/libraries/ 内の Python ライブラリ。
3 つの破壊的変更はすべて 動作 の変更です(同じ API で結果が異なる)— 影響を受けるスクリプトを再確認してください。各コミットハッシュは GitHub の差分にリンクしています。
MicroPython を 1.12 に更新 (動作)¶
同梱の MicroPython コアが 1.12 に更新されました。標準ライブラリと言語の動作はアップストリームの MicroPython 1.12 に従います。バージョン固有の micropython / 標準モジュールの動作に依存するスクリプトを再確認してください。
コミット: eafd431ea
image.get_histogram() のしきい値の正規化が変更 (動作)¶
カラーしきい値を指定した image.get_histogram()(および get_statistics())は、ROI 全体ではなくしきい値処理されたピクセル数で正規化するようになり、ビンのインデックス計算に round の代わりに floor を使用するようになりました。しきい値処理を伴う呼び出しのヒストグラム/統計値は以前のリリースと異なります — 絶対的なヒストグラム値と比較していたコードを再調整してください。
コミット: 7cf0f8089
OpenMV 3 の JPEG/グレースケール出力が変更 (動作)¶
フラッシュ容量を節約するため、OpenMV 3(M7)の YUV ルックアップテーブルが無効化されたため、OpenMV 3 では JPEG とグレースケール出力のピクセル値の計算がわずかに異なります。出力は依然として有効ですが、以前のリリースとはわずかに異なります。OpenMV 3 でのピクセル単位の厳密な比較を再確認してください。
コミット: 0e4b46e41
移行チェックリスト¶
バージョン固有の MicroPython の動作に依存するスクリプトを 1.12 に対して再検証し(MicroPython のバージョンアップ)、カラーしきい値を使用する際に絶対的な get_histogram() / get_statistics() の値と比較していたコードを再調整し(ヒストグラムの変更)、OpenMV 3 でのピクセル単位の厳密な比較を再確認してください(OpenMV 3 の出力変更)。その他のすべてのスクリプトはそのまま動作します。