Submit Search
Upload
2015年度研究室プレ卒研用Android講座2
•
4 likes
•
1,656 views
Hokuto Tateyama
Follow
Android App using OpenCV4Android
Read less
Read more
Technology
Report
Share
Report
Share
1 of 46
Download now
Download to read offline
Recommended
Techno TUT コードとコード進行について
Techno TUT コードとコード進行について
Hokuto Tateyama
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」
Hokuto Tateyama
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
Androidアプリケーション開発入門
Androidアプリケーション開発入門
OESF Education
Android概要資料
Android概要資料
サイバーエージェント
2015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座1
Hokuto Tateyama
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
Shinobu Okano
Recommended
Techno TUT コードとコード進行について
Techno TUT コードとコード進行について
Hokuto Tateyama
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」
第25回プロコン一関大会課題部門-富山(射水)-「DTN通信を用いた災害時の安否及び避難所情報収集システム」
Hokuto Tateyama
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
Androidアプリケーション開発入門
Androidアプリケーション開発入門
OESF Education
Android概要資料
Android概要資料
サイバーエージェント
2015年度研究室プレ卒研用Android講座1
2015年度研究室プレ卒研用Android講座1
Hokuto Tateyama
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
Shinobu Okano
【Android勉強会】第一回Activity & intent
【Android勉強会】第一回Activity & intent
Ishin FUKUOKA
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Kenta Ohsugi
Extending the Unity Editor
Extending the Unity Editor
Masamitsu Ishikawa
OSC2011 Androidハンズオン
OSC2011 Androidハンズオン
Katsumi Honda
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
cch-robo
React native
React native
YoshikiWatanabe1
Head First XML Layout on Android
Head First XML Layout on Android
Yuki Anzai
Extra view @ kyobashi.swift
Extra view @ kyobashi.swift
Keisuke Tsukagoshi
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Masamitsu Ishikawa
Unityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
iOS 9 Bootcamp #6 UIKit
iOS 9 Bootcamp #6 UIKit
Shingo Hiraya
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
Kazuya Hirobe
CleanArchitecture with AssemblyDefinition in unity
CleanArchitecture with AssemblyDefinition in unity
NakanoYosuke1
よこへな3 15発表資料 最近ViewController をどんな感じで書いているか
よこへな3 15発表資料 最近ViewController をどんな感じで書いているか
Yuichiro Suzuki
Android UIデザイン入門
Android UIデザイン入門
OESF Education
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
More Related Content
Similar to 2015年度研究室プレ卒研用Android講座2
【Android勉強会】第一回Activity & intent
【Android勉強会】第一回Activity & intent
Ishin FUKUOKA
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Kenta Ohsugi
Extending the Unity Editor
Extending the Unity Editor
Masamitsu Ishikawa
OSC2011 Androidハンズオン
OSC2011 Androidハンズオン
Katsumi Honda
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
cch-robo
React native
React native
YoshikiWatanabe1
Head First XML Layout on Android
Head First XML Layout on Android
Yuki Anzai
Extra view @ kyobashi.swift
Extra view @ kyobashi.swift
Keisuke Tsukagoshi
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Masamitsu Ishikawa
Unityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
iOS 9 Bootcamp #6 UIKit
iOS 9 Bootcamp #6 UIKit
Shingo Hiraya
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
Kazuya Hirobe
CleanArchitecture with AssemblyDefinition in unity
CleanArchitecture with AssemblyDefinition in unity
NakanoYosuke1
よこへな3 15発表資料 最近ViewController をどんな感じで書いているか
よこへな3 15発表資料 最近ViewController をどんな感じで書いているか
Yuichiro Suzuki
Android UIデザイン入門
Android UIデザイン入門
OESF Education
Similar to 2015年度研究室プレ卒研用Android講座2
(15)
【Android勉強会】第一回Activity & intent
【Android勉強会】第一回Activity & intent
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Extending the Unity Editor
Extending the Unity Editor
OSC2011 Androidハンズオン
OSC2011 Androidハンズオン
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
React native
React native
Head First XML Layout on Android
Head First XML Layout on Android
Extra view @ kyobashi.swift
Extra view @ kyobashi.swift
Extending the Unity Editor Extended
Extending the Unity Editor Extended
Unityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
iOS 9 Bootcamp #6 UIKit
iOS 9 Bootcamp #6 UIKit
20121201yidev hirobe iPad miniでRetina
20121201yidev hirobe iPad miniでRetina
CleanArchitecture with AssemblyDefinition in unity
CleanArchitecture with AssemblyDefinition in unity
よこへな3 15発表資料 最近ViewController をどんな感じで書いているか
よこへな3 15発表資料 最近ViewController をどんな感じで書いているか
Android UIデザイン入門
Android UIデザイン入門
Recently uploaded
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Recently uploaded
(10)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
2015年度研究室プレ卒研用Android講座2
1.
第2回プレ卒研 Android開発入門
2.
~今日の内容~ UIの詳細(レイアウトの種類) OpenCVで画像処理
3.
TextViewやButtonなどのUIパーツはViewと呼ばれる Viewの集合 = View
Group UIの詳細 TextView Button View ViewGroup TextView Button
4.
UIの詳細 setContentView(R.layout.activity_main); レイアウトをどれにするかを指定する 実はsetContentView()を使って配置できるViewは1つだけ →だけどレイアウトには複数のViewが・・・・
5.
UIの詳細 setContentView(R.layout.activity_main); レイアウトをどれにするかを指定する Viewを継承しているViewGroupを使ってレイアウトを作る!
6.
UIの詳細 setContentView(R.layout.activity_main); 初期レイアウトをどれにするかを指定する そんなViewGroupにも様々な種類がある
7.
UIの詳細 LinearLayout Viewを縦または横一列に並べて配置する android:orientation=“vertical”→ ↑ android:orientation=“horizontal”
8.
UIの詳細 TableLayout Viewを格子状に配置する <TableRow><TableRow/>
9.
UIの詳細 RelativeLayout Viewを相対的に配置する このパーツは☓☓の真下に配置する 中央線右から○○dpずれた場所に配置する
10.
UIの詳細 複数のレイアウトを組み合わせることも可能 LinearLayout TableLayout RelativeLayout 複雑なレイアウトの構築が可能になる
11.
Let`s OpenCV Open CVで画像処理
12.
Let`s OpenCV Open CV Intelから公開されているコンピュータビジョンライブラリ フィルター処理、直線検出、パターン認証、機械学習・・・
13.
Let`s OpenCV OpenCV for
Android http://sourceforge.net/projects/opencvlibrary/files/ Zipを展開しAndroid StudioでImport Projectを選択 「Create project…」を選択してNext
14.
Let`s OpenCV プロジェクト名を入力してNext
15.
Let`s OpenCV 全部選択してNext
16.
Let`s OpenCV Next
17.
Let`s OpenCV 「sdk」をだけを選択してNext
18.
Let`s OpenCV ターゲットAPIを選択してNext
19.
Let`s OpenCV チェックを確認してFinish
20.
Let`s OpenCV Build->Rebuild Peojectを選択
21.
Let`s OpenCV 新しいプロジェクトを作成しFile->Import Moduleで 「OpenCV-2.4.10-android-sdk¥sdk¥java¥sdk.iml」を選択
22.
Let`s OpenCV Finishを選択
23.
Let`s OpenCV プロジェクト名->app->build.gradleを選択 「dependevcies」の中に 「compile project(‘:openCVLibrary2410’)」を追加
24.
Let`s OpenCV Tools->Android->Sync Project
with Gradle Filesを選択
25.
Let`s OpenCV プロジェクトにOpenCVの導入はこれで終了 https://github.com/Collonville/OpenCVTestApp/blob/master/app/src/main/java/com/example/collo nville/opencvtestapp/MainActivity.java 今回は初期プロジェクトの行数が多いのでGithubから落としてきてください
26.
Let`s OpenCV 「Androidmanifest.xml」でUser Permissionを設定する セキュリティ上リスクを伴うもの(通信関係、プライバシー、etc)に関しては ユーザーから許可を得ないと正常な動作が行われない(インストール時の契約) デフォルトでは全機能に関して不許可が与えられ、 許可していないのに実行するとSecurityExceptionが投げられる
27.
Let`s OpenCV 「activity_main.xml」でレイアウトの設定 取得した画像データはJavaCameraViewに表示される
28.
Let`s OpenCV 実機で実行すると以下のように表示されましたか??
29.
OpenCVで画像処理 Project1「カラー画像をグレースケールに変換するAPP」
30.
#1 グレースケールAPP R G B Gray RGB(8bit、チャンネル数:3)で1つのピクセルを表現 Gray(8bit、チャンネル数:1)で1つのピクセルを表現
31.
#1 グレースケールAPP R G B Gray RGBを白黒グレーに変換するアルゴリズム ・単純平均法 ・NTSC系加重平均法
32.
#1 グレースケールAPP 単純平均法 R,G,Bのそれぞれの値の平均をとる方法 𝑳𝒊,𝒋 = 𝑹𝒊,𝒋
+ 𝑮𝒊,𝒋 + 𝑩𝒊,𝒋 𝟑 NTSC系加重平均法 R,G,Bに重みを付けてスケールをとる方法 𝑳𝒊,𝒋 = 𝟎. 𝟐𝟗𝟖𝟗𝟏𝟐 ∗ 𝑹𝒊,𝒋 + 𝟎. 𝟓𝟖𝟔𝟔𝟏𝟏 ∗ 𝑮𝒊,𝒋 + 𝟎. 𝟏𝟏𝟒𝟒𝟕𝟖 ∗ 𝑩𝒊,𝒋 人間は青のほうが暗く感じる->青色を優先的に暗く 単純平均法よりも自然なグレースケールが作れる 詳細はググってどうぞ
33.
#1 グレースケールAPP 1.Matクラスのメンバー変数を作成 2.onCameraViewStarted()の中でオブジェクト作成 CvType.CV_8UC1 =>
8bitのチャンネル1の画像
34.
#1 グレースケールAPP 3.onCameraFrame()の中で毎フレームの処理を追加 cvtColor(const Mat&
src, Mat& dst, int code, int dstCn=0) 指定した色空間に変換しdstに渡す 今回の処理 RGBAの色空間画像グレースケールの色空間画像 codeにImgproc.COLOR_RGBA2GRAYを使用
35.
#1 グレースケールAPP https://github.com/Collonville/GrayScaleApp
36.
Project2「グレー画像を2値化するAPP」 2値化各ピクセルを任意の数値(2つ)に仕分ける作業 Let`s OpenCV 160 20
100 255 255 0 0 255 閾値150で0と255に2値化
37.
1行追加するだけで完成・・・ #2 2値化APP threshold(const Mat&
src, Mat& dst, double thresh, double maxVal, int thresholdType) 入力画像に対して閾値(thresh)で2値化させ Typeに合わせてmaxValを代入する
38.
#2 2値化APP
39.
#2 2値化APP Thresoldの様々なタイプ Imgproc.THRESH_BINARYthresh以上はmaxVal。それ以外は0 𝑑𝑠𝑡 𝑖,
𝑗 = 𝑚𝑎𝑥𝑉𝑎𝑙 𝑖𝑓 𝑠𝑟𝑐 𝑖, 𝑗 > 𝑡ℎ𝑟𝑒𝑠ℎ 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Imgproc.THRESH_BINARY_INVthresh以上は0。それ以外はmaxVal 𝑑𝑠𝑡 𝑖, 𝑗 = 0 𝑖𝑓 𝑠𝑟𝑐 𝑖, 𝑗 > 𝑡ℎ𝑟𝑒𝑠ℎ 𝑚𝑎𝑥𝑉𝑎𝑙 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Imgproc.THRESH_TOZEROthresh以上はそのまま。それ以外は0 𝑑𝑠𝑡 𝑖, 𝑗 = 𝑠𝑟𝑐(𝑖, 𝑗) 𝑖𝑓 𝑠𝑟𝑐 𝑖, 𝑗 > 𝑡ℎ𝑟𝑒𝑠ℎ 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
40.
#2 2値化APP 今のままだと、閾値を実行時に毎回確認しなければならない ↓ 実行時でも閾値をいじって確認が できるAPPが欲しい!!! Project3「グレー画像を2値化するAPP改」 仕様:スライダーを使って閾値をいじれるようにする
41.
#3 2値化APP改 Step1:Viewの追加 SeekBar*2、TextView*2、JavaCameraView*1(前のをコピペ) Step2:ID、名前を指定 今回は各自自由に名前をつけてください TextViewはandroid:textColor=“#FFFFFF” で白色にすることをおすすめ
42.
#3 2値化APP改 Step3:コードの実装 onCreate()の中でインスタンスをもらう。SeekBarの設定 setProgress(int)初期値の設定 setMax(int)SeekBarの最大値の設定
43.
#3 2値化APP改 Step3:コードの実装 SeekBarリスナーの実装
44.
#3 2値化APP改 Step3:コードの実装 閾値と最大値をthreshold()に反映 実装はこれで終了!!!
45.
#3 2値化APP改 Step4:確認 閾値のみを変更させた時の様子
46.
2値化APP改ver2 5つあるThresholdのTypeをボタンで選択できるようにする #4 課題!! Imgproc.THRESH_BINARY Imgproc.THRESH_BINARY_INV Imgproc.THRESH_TRUNC Imgproc.TOZERO Imgproc.TOZERO_INV ボタンの作り方、コードを忘れた 前回の資料を見るかググって(# ゚Д゚)
Download now