SlideShare a Scribd company logo
2014/07/30 1
Camera API 3.0 を触ってみた
2014/07/30 22013/04/20 2
自己紹介
• 名前:大槻 正樹
• TwitterID:@nekomeshi312  こんなアイコンです→ 
• 仕事:某メーカ所属
      ・・・毎日製品にならないような変な物作って遊んでいます。
         ・・・仕事は Android とは特に関係のない Sunday Programmer です。
         ・・・こんなアプリ作ってます
2014/07/30 3
L Developer Preview で新しい Camera API が公開されました
android.hardware.camera2
2014/07/30 4
何が新しい?
2014/07/30 5
android.hardware.camera2
• フル解像度で 30fps での連写 (Burst mode) のサポート
     (JPEG は不可 )
• フレーム間の撮影設定変更のサポート
• RAW 画像撮影のサポート
• Zero Shutter Lag, Movie Snapshot のサポート
• その他カメラの細かな設定のサポート
2014/07/30 6
とにかく使ってみましょう
2014/07/30 7
android.hardware.camera2
• フル解像度で 30fps での連写 (Burst mode) のサポート
     (JPEG は不可 )
• フレーム間の撮影設定変更のサポート
• RAW 画像撮影のサポート
• Zero Shutter Lag, Movie Snapshot のサポート
• その他カメラの細かな設定のサポート
2014/07/30 8
android.hardware.camera2
• フル解像度で 30fps での連写 (Burst mode) のサポート
     (JPEG は不可 )
• フレーム間の撮影設定変更のサポート
• RAW 画像撮影のサポート
• Zero Shutter Lag, Movie Snapshot のサポート
• その他カメラの細かな設定のサポート
2014/07/30 9
従来の連写
方法 1
• Camera#setParameters()
• Camera#startPreview()         とっても遅い
• Camera#takePicture()
を繰り返す
方法2
• Camera#onPreviewFrame()      解像度はせいぜい
fullHD
 でプレビュー画像を取得する     途中で設定を変更
不可
2014/07/30 10
キャプチャ方法4通り
• CameraCaptureSession#capture()
・・・一枚だけ撮影する
• CameraCaptureSession#captureBurst()
      ・・・撮影条件を変えながら複数枚撮影する
• CameraCaptureSession#setRepeatingRequest()
      ・・・同一条件で連続撮影する (Preview 用 )
• CameraCaptureSession#setRepeatingBurst()
      ・・・撮影条件を変えながら連続撮影する
(用途は? )
2014/07/30 11
• CameraCaptureSession#capture()
・・・一枚だけ撮影する
• CameraCaptureSession#captureBurst()
      ・・・撮影条件を変えながら複数枚撮影する
  この順番で撮影され、結果に他の撮影が挟まったりし
ないことが保証されている ←重要
List<CaptureRequest> requestList = new ArrayList<CaptureRequest>();
// 2段明るく撮影する設定を登録
captureBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, 6);
requestList.add(captureBuilder.build());
       // 標準の明るさで撮影する設定を登録
captureBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, 0);
requestList.add(captureBuilder.build());
       // 2段暗く撮影する設定を登録
captureBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, -6);
requestList.add(captureBuilder.build());
      // 登録された3種類の撮影を連続して実行
session.captureBurst(requestList, captureListener, backgroundHandler);
2014/07/30 12
android.hardware.camera2
• フル解像度で 30fps での連写 (Burst mode) のサポート
     (JPEG は不可 )
• フレーム間の撮影設定変更のサポート
• RAW 画像撮影のサポート
• Zero Shutter Lag, Movie Snapshot のサポート
• その他カメラの細かな設定のサポート
ImageFormat に
RAW_SENSOR が追加
Format は DNG らしい
2014/07/30 13
android.hardware.camera2
• フル解像度で 30fps での連写 (Burst mode) のサポート
     (JPEG は不可 )
• フレーム間の撮影設定変更のサポート
• RAW 画像撮影のサポート
• Zero Shutter Lag, Movie Snapshot のサポート
• その他カメラの細かな設定のサポート
CameraDevice#createCaptureRequest (int templateType)
TEMPLATE_PREVIEW
TEMPLATE_RECORD
TEMPLATE_STILL_CAPTURE
TEMPLATE_VIDEO_SNAPSHOT
TEMPLATE_ZERO_SHUTTER_LAG
TEMPLATE_MANUAL
これを選んで
CameraCaptureSession#capture()
を呼べば良いらしいがうまくいかない
誰かおせーて orz…
2014/07/30 14
android.hardware.camera2
• フル解像度で 30fps での連写 (Burst mode) のサポート
     (JPEG は不可 )
• フレーム間の撮影設定変更のサポート
• RAW 画像撮影のサポート
• Zero Shutter Lag, Movie Snapshot のサポート
• その他カメラの細かな設定のサポート
CameraMetadata   class に定義されている
例えば
NR の効き具合を
変更したりとか
2014/07/30 15
Camera API 3.0
• 実は Kitkat でも隠し API として実装されていた
http://urx.nu/anzT
            Camera API 2.0 はどこいった?
2014/07/30 16
幻の CameraAPI2.0
2014/07/30 17
http://urx.nu/apkH
2014/07/30 18
GoogleIO2014 での紹介
http://urx.nu/anzy 30 分あたりから
誰かが書いたこれのメモ: http://urx.nu/anA5
2014/07/30 19
ソース
今日のテストアプリのソースはこちらから
http://urx.nu/aob1
Google のサンプルアプリのソースはこちらから DL できま
す。
android-Camera2Basic     http://urx.nu/ao4R
android-Camera2Video    http://urx.nu/ao4T
2014/07/30 20
FIN

More Related Content

What's hot (20)

PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
Embedded Master2
android sola
 
PPTX
GT1 輪講資料 Unity Standard asset Camera
Masujima Ryohei
 
PDF
20160529 Pepper SDK for Android Studio
Kenichi Ohwada
 
PDF
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
[CEDEC+KYUSHU 2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! + UE4.18 モバイ...
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
20160529 30 android-workshop_upload
atelire-akihabara
 
PDF
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
Game Tools & Middleware Forum
 
PPTX
猫でもわかるUnreal Engine4
pafuhana 1213
 
PPTX
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
UE4の新機能のご紹介、ライブコーディングもやるよ!C++だけど何か?
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
SteamVR Plugin 2.0 にアップデートした話
shohashimoto4
 
PDF
2016 01-25 いいとも発表スライド Atomパッケージ
Tatsuaki Watanabe
 
PDF
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
 
PPTX
少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
historia_Inc
 
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
エピック・ゲームズ・ジャパン Epic Games Japan
 
PPTX
Robo Recallで使われている 最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
 
PDF
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
com044
 
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
 
Embedded Master2
android sola
 
GT1 輪講資料 Unity Standard asset Camera
Masujima Ryohei
 
20160529 Pepper SDK for Android Studio
Kenichi Ohwada
 
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
エピック・ゲームズ・ジャパン Epic Games Japan
 
[CEDEC+KYUSHU 2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! + UE4.18 モバイ...
エピック・ゲームズ・ジャパン Epic Games Japan
 
20160529 30 android-workshop_upload
atelire-akihabara
 
GTMF 2017 ノンゲーム分野から学ぶUE4の活用テクニック Epic Games Japan
Game Tools & Middleware Forum
 
猫でもわかるUnreal Engine4
pafuhana 1213
 
Unreal Engine 4のビジュアルスクリプトシステム”Blueprint”を使ったMod制作Tipsのご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4の新機能のご紹介、ライブコーディングもやるよ!C++だけど何か?
エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
 
SteamVR Plugin 2.0 にアップデートした話
shohashimoto4
 
2016 01-25 いいとも発表スライド Atomパッケージ
Tatsuaki Watanabe
 
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
 
少人数開発でもクオリティを諦めない - エンジニア視点から見る少人数開発の極意 -
historia_Inc
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
エピック・ゲームズ・ジャパン Epic Games Japan
 
Robo Recallで使われている 最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4.14.0 Forward Shadingのエンジン改造でセルシェードやってみた
com044
 

Viewers also liked (20)

PDF
あ・・・ありのまま今起こったことを話すぜ!おれはTextureViewでプロジェクトを開始していたと思ったらいつのまにかSurfaceViewに戻っていた
Yamashita Takeshi
 
PDF
カメラアプリ実装のコツ
tac0x2a
 
PPTX
Hidden Camera 3 APIs in Android 4.4 (KitKat)
Balwinder Kaur
 
PPTX
How to create a camera2
Booch Lin
 
PDF
Android6.0の機能まとめ 実機でサンプルを動かしてみた
Satoshi Noda
 
PDF
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Hiroshi Yoshida
 
KEY
Jenkins@EC2 による 継続的インテグレーション
bluepapa32
 
PDF
天体を静止画として 長時間撮影できる装置 の紹介
Masaki Otsuki
 
PPTX
Android 5.0 Camera2 APIs
Balwinder Kaur
 
PDF
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
Amazon Web Services Japan
 
KEY
OpenCVの基礎
領一 和泉田
 
PDF
OpenCVをAndroidで動かしてみた
徹 上野山
 
PDF
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Kun Liu
 
ODP
Depurando Aplicacoes PHP com XDebug e FirePHP II
Jefferson Girão
 
PDF
Cognitive Biases: How the Clustering Illusion will impact your pitch
Siamac Rezaiezadeh
 
PPTX
AOA - Annual OMEL Conference Encourages Osteopathic Discourse
Dr. Michael Thomas (Neurosurgeon)
 
PPTX
Aula 2 Concordância
2º ano CSR
 
PDF
Эффективные кампании в интернете для разных задач МСБ.
Serhii Stasko
 
PDF
Pallitathya Bulletin_Population Growth
Md. Ariful Islam
 
PPTX
Marcelo acosta ac
Marcelo Acosta
 
あ・・・ありのまま今起こったことを話すぜ!おれはTextureViewでプロジェクトを開始していたと思ったらいつのまにかSurfaceViewに戻っていた
Yamashita Takeshi
 
カメラアプリ実装のコツ
tac0x2a
 
Hidden Camera 3 APIs in Android 4.4 (KitKat)
Balwinder Kaur
 
How to create a camera2
Booch Lin
 
Android6.0の機能まとめ 実機でサンプルを動かしてみた
Satoshi Noda
 
Android上での3D(OpenGL)描画の基礎とNDKによる実践的高速化手法
Hiroshi Yoshida
 
Jenkins@EC2 による 継続的インテグレーション
bluepapa32
 
天体を静止画として 長時間撮影できる装置 の紹介
Masaki Otsuki
 
Android 5.0 Camera2 APIs
Balwinder Kaur
 
AWS Black Belt Techシリーズ リザーブドインスタンス & スポットインスタンス
Amazon Web Services Japan
 
OpenCVの基礎
領一 和泉田
 
OpenCVをAndroidで動かしてみた
徹 上野山
 
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Kun Liu
 
Depurando Aplicacoes PHP com XDebug e FirePHP II
Jefferson Girão
 
Cognitive Biases: How the Clustering Illusion will impact your pitch
Siamac Rezaiezadeh
 
AOA - Annual OMEL Conference Encourages Osteopathic Discourse
Dr. Michael Thomas (Neurosurgeon)
 
Aula 2 Concordância
2º ano CSR
 
Эффективные кампании в интернете для разных задач МСБ.
Serhii Stasko
 
Pallitathya Bulletin_Population Growth
Md. Ariful Islam
 
Marcelo acosta ac
Marcelo Acosta
 
Ad

Camera API 3.0を触ってみた