v1.7.0¶
v1.7.0 では cpufreq モジュール(CPU周波数/オーバークロック制御)、MicroPython の os モジュール、MLX サーマルセンサーのリフレッシュ/解像度制御、そして初期段階の OpenMV Cam M7(STM32F7)ボードの立ち上げが導入されました。fir.init() のシグネチャ、過大フレームの扱い、デフォルトの JPEG 品質が変更されています。以下の破壊的変更をお読みください。
ハイライト¶
cpufreqモジュール — CPU周波数の取得/設定を行い、オーバークロックの例も付属します。MLX サーマル —
fir.init()がリフレッシュレートと ADC 解像度を受け付けます。OpenMV Cam M7 — 初期段階の STM32F7 ボード立ち上げ。
破壊的変更:
fir.init()がキーワード引数専用になり、過大フレームは自動でクロップされ、デフォルトの JPEG 品質が下がりました。破壊的変更を参照してください。
新機能¶
cpufreq—cpufreq.get_frequency()/cpufreq.set_frequency()とCPUFREQ_120MHZ/144/168/192/216MHZ定数を備えたcpufreqモジュールを追加し、overclocking.pyの例も加えました。MLX / FIR —
fir.init()がリフレッシュレートと ADC 解像度を受け付けるようになり、MLX サーマルセンサー向けに対応するrefresh/resolution制御を追加しました。
その他の変更と改善¶
OV7725 の AGC/AEC 領域を調整して(モーションブラーを軽減)、OV7725 用の DSP ソリッドカラーバーを有効化し、IDE のフレームバッファストリーミングを修正しました(古い/重複フレームを排除)。
バグ修正¶
sensor.snapshot()における DCMI/DMA 転送サイズのオーバーフローを修正し、JPEG 圧縮のバッファオーバーフロー処理を整理し、自動露出/ゲインを改善するため OV7725 の AEC/AGC 動作領域を改良し、OV7725 用のカラーバー/セルフテストスクリプトを修正しました。
ハードウェアとボードのサポート¶
OpenMV Cam M7(STM32F7 / OPENMV7) — 初期段階のボードおよびブートローダーのサポート。
OpenMV 2 — センサークロックを MCO 出力で駆動するようにしました。
破壊的な API 変更¶
v1.6.0 から v1.7.0 までのユーザーから見える API の破壊的変更です。範囲: modules/ 内の Python C モジュールと scripts/libraries/ 内の Python ライブラリ。
各変更にはその影響度のタグが付いています:
minor — 限定的な API。それを使っていたスクリプトにのみ影響します。
behavior — API は同じだが結果が異なる。調整済みのスクリプトを再確認してください。
変更はその順序で影響度ごとにまとめられています。コードを移植したいだけであれば、末尾の 移行チェックリスト に進んでください。各コミットハッシュは GitHub 上のその差分にリンクしています。
fir.init() がキーワード引数専用になりました (minor)¶
fir.init() は位置引数の代わりにキーワード引数(type= / refresh= / resolution=、refresh のデフォルトは 64 Hz、最大 512 Hz)を取るように作り直されました。位置引数の fir.init(...) 呼び出しをキーワード形式に更新してください。
コミット: 958c5b7f7
過大フレームは QVGA へ自動クロップ (behavior)¶
sensor.snapshot() は、生フレームがボードの最大生フレームサイズを超えても例外を送出しなくなりました。過大な生フレームは代わりに QVGA へウィンドウ化/クロップされます(JPEG モードの生データのみは依然として拒否されます)。以前のエラーに依存していた場合は、サポートされているフレームサイズを選択してください。
OpenMV 2 の最大フレームサイズを QVGA に引き下げ (behavior)¶
OpenMV 2 では、積分画像/生/ブロブの最大フレームサイズが VGA から QVGA に引き下げられました。OpenMV 2 でグレースケール/RGB565/ブロブ/積分画像の操作に VGA を要求すると QVGA にクロップされます。そのボードで VGA 処理に依存していたスクリプトは再設計してください。
コミット: 7499062bd
デフォルトの JPEG 品質を低下 (behavior)¶
より信頼性の高いストリーミングのため、デフォルトの JPEG 品質が低下しました(デフォルト 50 → 35、IDE のサブサンプルしきい値も低下)。キャプチャ/ストリーミングされる JPEG はデフォルトで見た目の品質が低くなります。以前の品質が必要な場合は、image.compress() に明示的な quality を渡してください。
コミット: d9c8b1535
移行チェックリスト¶
v1.7.0 へきれいに移植するための一般的な作業は次のとおりです:
位置引数の
fir.init(...)呼び出しをキーワード形式に変換します(fir.init の変更)。古い過大フレームのエラーに依存せず、サポートされているフレームサイズを使用し(過大フレームの変更)、OpenMV 2 での VGA 処理を再設計してください(OpenMV 2 のフレームサイズの変更)。
以前の JPEG 品質が必要な場合は、
image.compress()に明示的なqualityを渡してください(JPEG 品質の変更)。
その他すべてのスクリプトは変更なしで動作します。