Browsing articles tagged with " SurfaceView"

カメラプレビューで顔検出を行う

11月 22, 2011   //   by kkato   //   マルチメディア  //  No Comments

Androidでは以前からFaceDetectorクラスを用いることで画像に対して顔検出を行うことが可能でした。Android4.0(ICS)からは、画像(静止画)だけでなく、カメラのプレビュー(動画)に対して顔検出を行うことが新たに可能となりました。

実際に顔検出の処理を行う方法は以下の通りです。1から3の処理を記述する必要があります。

  1. FaceDetectionListenerを実装(onFaceDetectionメソッドでCamera.Faceクラスが渡ってくるので必要な処理を記述)
  2. CameraクラスにFaceDetectionListenerを登録
  3. Cameraクラスに検出開始を指示
  4. 顔が検出されるとFaceDetectionListenerのonFaceDetectionメソッドが呼ばれる

カメラの基本的な使い方は「カメラの使用方法(1)」を参照してください。

※静止画の顔検出については「FaceDetectorを使って顔認識を行う」が参考になります。

それでは続きで説明していきます。

Read more >>

SurfaceViewで高速描画する(2) ゲームプログラミングの基本

9月 21, 2010   //   by @mhidaka   //   アプリケーション  //  4 Comments


SurfaceViewで高速描画する(1)に引き続き、SurfaceViewでの描画方法です。第2回ではゲームプログラミングを意識して、処理落ちを考慮した描画テクニックを紹介します。

右側の図は、SurfaceViewを使って画面上から下へ、Bitmapを移動させたキャプチャです(わかりやすく背景をクリアせずに残像を残しています。残像の理由は記事の最後の章”描画関数”で)。実際は、コマ落ちを考慮したアニメーションができます。

紹介するのはインベーダーゲーム・マリオブラザーズのようにユーザーのアクションが無くても時間が経過していくアクションゲームに適したロジック(の基本)です。ポイントは以下の2つ。

  • Threadを使った連続描画(無限ループ)
  • 処理落ちを考慮した移動量調整

なお、SurfaceViewで高速描画する(1)で解説した内容をベースに記述していますので未読の方は(1)も合わせてどうぞ。またAndroidにおけるThreadのあつかいなどはTimerを使って定期実行するで、少し触れています。こちらも参考程度に。

ではサンプルコードは続きから。
Read more >>

SurfaceViewで高速描画する(1)

9月 15, 2010   //   by @mhidaka   //   アプリケーション, 未分類  //  4 Comments

SurfaceViewは高速に描画を行うための仕組みです。
通常のViewでは処理が間に合わない、ゲームやマルチメディアなど高速処理に向いています。
別スレッドで描画するため、資源の排他処理などマルチスレッドを意識する必要があります。

SurfaceViewの特徴は以下の3点+3メソッドです。

  • 画面(Surface)を描画する専用スレッドを提供する(資源ロックが発生)
  • Surfaceの描画には、SurfaceHolderというインターフェイスを利用
  • 描画処理はSurfaceHolderのコールバックとして実装する
    • SurfaceHolder.Callback.surfaceCreated()
    • SurfaceHolder.Callback.surfaceChanged()
    • SurfaceHolder.Callback.surfaceDestroyed()

TechBoosterでは一度、カメラの使用方法(1)(2)で触れています。
その際は、Cameraというハードウェアのマルチメディア処理を主眼に紹介しました。
今回は改めて描画処理をおこなうSurfaceViewについて解説します。

Read more >>

カメラの使用方法(2)

6月 19, 2010   //   by kseto   //   デバイス  //  1 Comment

今回はカメラの使用方法の後編になります。
前回はカメラをオープンして、SurfaceViewにカメラのプレビュー画面を表示するところまで紹介しました。
今回はプレビュー画面の内容を撮影し、SDカードに保存するという処理まで説明したいと思います。

詳細は続きからどうぞ。

Read more >>

カメラの使用方法(1)

6月 12, 2010   //   by kseto   //   アプリケーション, デバイス  //  3 Comments

今回はカメラの使い方について説明します。
とりあえず今回はSurfaceViewにカメラから得られる画像のプレビュー画面を表示するところまで紹介して、
撮影処理は次回ご紹介します。

作業手順として以下のようになります。

  • マニフェストファイルにカメラのパーミッションを追加する
  • レイアウトファイルにSurfaceViewを追加する
  • プレビュー画面の実装

詳しくは続きからどうぞ。

Read more >>

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です