オブジェクト指向開発によるカメラアプリケーション作成

Last-modified: 2007-02-09 (金) 16:35:36

カメラアプリ設計

仕様書

  • カメラから取得した画像を,ウインドウに表示する。
  • 取得された画像に対して,画像処理を行う。画像処理の具体的な中身は,今回は言及しない。その結果もまたウインドウに表示される(表示しないこともある)。
  • ユーザは画像処理のパラメータを,ウインドウを通して設定する。
  • 画像処理のパラメータ等を,ウインドウに表示してユーザに提示する。

クラス候補の抽出

  • 名詞を抜き出していく
    • カメラ
    • ウインドウ
    • 画像
    • 画像処理
    • パラメータ

クラスの仕様

カメラコントローラクラス

  • (名前を変更)カメラ→カメラコントローラ
  • 仕様
    • カメラコントローラは,はじめにカメラデバイスをOpenする。このとき,キャプチャのサイズやFPSを指定できる(できない場合もある)。
    • カメラコントローラはカメラデバイスにキャプチャ要求を発行し,現在の画像を取得する。
    • カメラの使用を停止するとき,カメラコントローラはカメラデバイスをCloseする。
  • クラス図
    カメラコントローラ
    キャプチャサイズ
    カメラデバイスをOpen
    カメラデバイスをClose
    キャプチャサイズ設定
    キャプチャサイズ取得
    キャプチャ

画像クラス

  • 仕様
    • 画像クラスはIplImageで代用するので略。
  • クラス図
    • IplImageに準拠

画像処理クラス

  • 仕様
    • 画像処理は,パラメータに応じた画像処理を行う。
  • クラス図
    画像処理クラス
    画像処理に用いるパラメータ
    画像処理を実行
    パラメータを設定
    パラメータを取得
  • 備考
    • 画像処理の内容は今回は言及していないため,クラスの内容が極端に抽象的になってしまっている。

ウインドウクラス

  • 仕様
    • OpenCVの機能を使用

パラメータ表示用ウインドウ

  • 仕様
    • 画像処理クラスなどからパラメータを取得し,ウインドウに表示する。
  • クラス図

パラメータ設定用ウインドウ

  • 仕様
    • 画像処理クラスなどにパラメータを設定するためのGUIを提供する。
  • クラス図

増えた/消えたクラスの説明

  • パラメータ表示用ウインドウ/パラメータ設定用ウインドウ
    • 通常の画像表示用ウインドウとは処理内容が異なるため