13.1.6. フレームバッファビューア

フレームバッファビューアは、カメラが見ているものを表示します。より正確には、実行中のスクリプトがカメラのフレームバッファに最後に残したものを表示します。snapshot() を実行するたびに新しいキャプチャがそこに置かれ、その後スクリプトが画像に描画したものもすべてそこに含まれるため、プレビューにはスクリプトの処理が施されたのフレームが、注釈も含めて表示されます。IDEはUSB経由でカメラから最新のフレームをポーリングし、到着するたびにそれぞれを表示します。

ライブ画像に1つのオブジェクトを囲む選択矩形が重ねて表示されたフレームバッファペイン。タイトルバーには Record、Zoom、Disable、JPG Mode の各ボタンがあり、下部のヒストグラムは選択範囲から計算しています。

領域が選択されたフレームバッファ。読み取り行とその下のヒストグラムは、選択されたピクセルのみから計算されます。

プレビューにはコストがかかります。各フレームを圧縮してストリーミングするにはカメラの処理時間を消費するため、一般にスクリプトは、プレビューをライブにしているときよりも、IDEを切断したときの方が高速に動作します。ペインのタイトルバーのボタンで、このトレードオフを管理します。

  • Zoom -- 画像をペインに合わせて拡大縮小します(デフォルトでオン)。オフにすると、画像は1画像ピクセルあたり1画面ピクセルで描画されます。

  • Disable -- フレームのストリーミングを完全に停止し、カメラ側の性能を最大化します。スクリプトは動作し続けますが、プレビューは再有効化するまで「Frame Buffer Disabled」のバナーの背後で最後のフレームのまま固定されます。プレビューを無効にした状態でスクリプトが達成するFPSは、スタンドアロンで達成するFPSと同じになるため、ベンチマーク時にはこの機能を使用してください。

  • JPG Mode / RAW Mode -- フレームをIDEへ送る際にJPEG圧縮するか、無圧縮で送信するかを切り替えます。モードは、接続されたカメラが好む方(ほとんどはJPG)から始まります。JPGモードははるかに高速で、RAWモードはフレームレートを犠牲にして正確なピクセル値を表示します。このボタンは最近のファームウェアで動作するカメラに表示されます。

13.1.6.1. 領域の選択

画像上をクリックしてドラッグすると、矩形領域を選択できます。選択範囲が存在する間、下のヒストグラムは選択されたピクセルのみから統計を計算し、ヒストグラムの上の読み取り行には選択範囲の位置、サイズ、ピクセル数が表示されます。これは、スクリプト用のROIタプルを読み取ったり、シーン全体ではなく1つのオブジェクトのカラー統計を測定したりする最も手早い方法です。ドラッグせずにクリックすると、単一ピクセルの位置を読み取れます。画像の外側をクリックすると選択が解除されます。

13.1.6.2. カメラが見ているものの保存

画像を右クリックすると、表示中のフレームをコンピュータ上の画像ファイルに保存できます。保存は選択範囲を考慮します。選択された領域の内側を右クリックするとその領域だけが保存され(メニュー項目は「Save Image selection to PC」と表示されます)、それ以外の場所を右クリックするとフレーム全体が保存されます。ディスクに保存されるのは右クリックした瞬間に表示されていたフレームです。動いているシーンから正確な1フレームをキャプチャするには、先にスクリプトを停止してプレビューをそのフレームで固定してください。