v1.0.0-beta¶
v1.0.0-beta は OpenMV ファームウェアの最初(ベータ)のリリース であり、OpenMV Cam の最初の公開ビルドです。これ以降のすべての土台となる基盤を確立します。すなわち、STM32F4 の OpenMV Cam 上で動作する MicroPython スクリプティングランタイム、カメラの sensor API、image マシンビジョンライブラリ、そしてライブ開発のための OpenMV IDE です。最初のリリースであるため移行元はありません。このエントリでは、最初のファームウェアに同梱された内容をまとめます。
ハイライト¶
OpenMV Cam 上の MicroPython — USB 経由でカメラ上の Python スクリプトを実行でき、対話型 REPL と IDE デバッグインターフェースを備えます。
カメラキャプチャ —
sensorモジュール: ピクセルフォーマット/解像度/フレームレートを設定し、snapshot()でフレームを取得します。マシンビジョン —
imageライブラリ: カラーブロブ検出、描画、フィルタ、テンプレートマッチング、Haar カスケード顔検出、キーポイント。OpenMV IDE — ライブフレームバッファビューア、コードエディタ、IDE 内ファームウェア更新を備えたデスクトップ IDE。
ハードウェア — OmniVision OV9650 / OV2640 カメラを搭載したオリジナルの OpenMV Cam(STM32F4)。SD カードと WiFi シールドのサポート。
新機能¶
スクリプティングとモジュール:
ファームウェアの基盤としての MicroPython ランタイム。USB デバッグインターフェース経由でのカメラ上スクリプト実行と対話型 REPL を備えます。
sensorモジュール —set_pixformat()/set_framesize()/set_framerate()、ゲイン上限/明るさ/コントラスト/ゲインの各制御、reset()、snapshot()、左右反転/上下反転、ならびにセンサーと解像度の定数。imageマシンビジョンモジュール(imlib)。画像オブジェクト(Python バッファプロトコル対応)と、その下位の画像処理機能を公開します。タイミング計測と FPS 測定のための
time/clockモジュール。初期のペリフェラルモジュール —
led(RGB LED)、spi、gpio(外部割り込み登録付きのピン I/O)、uart、ハードウェアrng、systick タイマー、そしてファイルシステム用のfile/select。socket/wlan(CC3000 WiFi)によるネットワーク、lcdディスプレイドライバ、mlx90620サーマルセンサーモジュール、AVI/MJPEG ビデオ録画。
画像処理:
動的に確保されるフレームバッファにキャプチャされるカメラフレーム。
カラーブロブ検出(フラッドフィル)と LAB/XYZ 色空間のしきい値処理(RGB↔LAB 変換テーブル付き)。
描画プリミティブ(線、文字列/フォント、円)、フィルタ(収縮/膨張/メディアン/反転/二値化/しきい値処理)、画像のスケーリング(バイリニア)、部分画像の抽出、blit、アルファブレンディング。
テンプレートマッチング(テンプレートの保存/読み込み付き)、Viola-Jones Haar カスケードによる顔/物体検出(読み込み可能なカスケード + OpenCV カスケードコンバータ)、LBP カスケードと目検出器、FAST / SURF / FREAK のキーポイント検出とディスクリプタマッチング、積分画像、動き検出。
JPEG エンコード(品質制御付き)、PPM / PGM / PNG / raw 画像の保存、AVI/MJPEG ビデオエンコード。
IDE とツール:
OpenMV IDE デスクトップアプリケーション — FPS 表示付きのライブフレームバッファビューア、コードエディタ(開く/新規/保存/名前を付けて保存、最近使ったファイル、同梱の Examples メニュー)、接続/リセット/自動接続、設定の読み込み/保存。
DFU 経由の IDE 内ファームウェア更新、純 Python の
pydfuユーティリティ、ブートローダーへ強制移行する USB コマンド。openmv.pyホストライブラリ/プロトコル。スタンドアロンのフレームバッファビューアとカスケードツール。Linux udev ルール。
その他の変更と改善¶
同梱のサンプルスクリプト: ブロブ検出、顔検出/追跡、SURF / キーポイント、テンプレートマッチング、LCD、フレームバッファビューア、blit、MJPEG ストリーマー、AVI 録画、エコーサーバー、FPS、JPEG / 画像書き込みのデモ。
ハードウェアとボードサポート¶
OpenMV Cam — 初期のハードウェアリビジョン全体にわたる STM32F4xx(STM32F407 / F429)。CMSIS + STM32 ペリフェラル/Cube HAL と CMSIS-DSP を使用。
カメラ — センサー HAL を介した OmniVision OV9650 と OV2640(SCCB/I2C、レギュレータ制御)、ならびに MLX90620 サーマル IR センサー。解像度は QQCIF/QCIF から SVGA/UXGA まで、最大 30 FPS。
ストレージ/接続性 — FatFS を用いた SD カード(SPI と SDIO)、内部フラッシュファイルシステム、SDRAM(SDRAM 上のフレームバッファ)、USB OTG FS(デバッグ + DFU)、CC3000 WiFi(WiFi / BLE シールド)、IR LED、ソフト/ハードウェア I2C と DMA 駆動の SPI。
互換性に影響する API 変更¶
なし。v1.0.0-beta は OpenMV ファームウェアの最初(ベータ)のリリース であり、互換性を壊す対象となる以前のリリースは存在しません。以降のリリースでは、その前のリリースに対する互換性に影響する変更を記載します。詳しくは 変更履歴 の残りを参照してください。