OpenCV(part4)で顔認識して猫にしてみた
引き続きOpnenCV
顔認識まで行って,その座標を使って猫化させてみました.
猫っぽいという認識をしたわけではありません・・・
面白い
こうやってみると一つ被ってるところがある.
二つ顔として認識してたんだなと.
元画像については昨日のブログを参照ください.
OpenCVで顔認識してみたpart3
複数認識させたら面白かった!
その1 家族
口を開けている人の認識が高いということか?
その2 お面
左上の 「 お 」 が認識されているのに笑った.
識別するための学習ファイルは1つしか使っていませんので,あしからず.
参考(カスケード識別器の学習済みファイル)
学習済みファイルはopencv/data/haarcascades/
にありました.
kotlin画面遷移(android studio)
1.画面遷移したい
2.書くところをまとめる
とりあえず2画面の動かし方
最初の画面
最下部に次の画面に行くボタンをつけた
次の画面
最下部に戻るためのボタンをつけた.
ちなみに現在の画面はpaletteのtextを適当に並べただけの画面
1.MainActivity.ktに追記したこと
import android.content.Intent
ーーー
button7.setOnClickListener{
val intent = Intent(application, SecondActivity::class.java)
startActivity(intent)
}
ーーー
2.SecibdActivity.ktに追記したこと
ーーー
button8.setOnClickListener{
finish()
}
ーーー
3.AndroidManifest.xmlに記載したこと(追記)
ーーー
<activity
android:name=".SecondActivity"
android:label="@string/app_name" >
</activity>
ーーー
これで2画面の遷移が可能になりました.
google playでバージョンアップ(ルービックキューブ スクランブル)
google playに公開(ルービックキューブ スクランブル)
をバージョンアップ(修正した)ので,書いておきます.
https://play.google.com/store/apps/details?id=com.test.cubescramblenet
アプリ
アプリを上げてみたいなーって人の参考になればいいかなと
1.コード修正
コードの修正はやや趣味的なところ(ルービックキューブの話なので,軽めに)
今回のコード修正は,スクランブル記号が,こんな感じで画面の改行に合わせて
のような同種記号が並んでしまっていた.
「"U", "L2", "D'", "R", "F","F2'", "D2", "U"」
これを↓になるように直した.
「"U", "L2", "D'", "R", "F", "L2'", "D2", "U"」
2.android studioのバージョン管理箇所の修正
versionCode 1
versionName "1.0"
この二つを修正する. ちなみにversionCodeは整数と決まっている.
右上に Sync now が出てくるので押す!
修正後,
versionCode 2
versionName "1.1"
とした,2でよかったのかもとも思いましたが,まー修正ですので・・・
3.再build
始めてアップする前まではapkを作るものかと思っていましたが,aabと言う拡張子のファイルができます.
こっちじゃないと通らなかった
これね aab → Android App Bundle
出来上がったアプリ
4.google play consoleでファイルをアップデート
google play console でアプリのリリースを選択
アプリのリリース → 製品版 →右上の管理を押す
リリースを作成する
リリースノートを書いて完了
5.そして
アップデート直後に公開しました!
って出ましたが,約30分後に実際のサイトは修正されました.
そして,めでたくスマホ側でもアプリの更新が表示されていました!
いやー簡単に配布できて,修正もできる.
下の絵は1.1ですが,現在1.2になっています.
おまけ
どこが変わったか?
画面全体のリセットとタスク終了ボタンつけました.
ブチっとタスク切れますが,タイマーついてるから終了ボタンがあったほうが安心かなーと
powerBIのDAX関数(エクセルのvlookupみたいなもの)
powerbi を使っている人いるかなー
powerbi ではDAX関数を使ってエクセル関数のようなことができます.
エクセルのroundのようなもの(これはほとんど同じです)
ROUND(<number>, <num_digits>)
https://docs.microsoft.com/ja-jp/dax/round-function-dax
(例)
ROUND(1234.56,1) → 1234.5
ROUND(1234.56,0) → 1234
ROUND(1234.56,-1) → 1230
ROUND(1234.56,-2) → 1200
パッと思い出せないので書いときます.
エクセルのvlookupのようなもの(結構違います)
LOOKUPVALUE( <result_columnName>, <search_columnName>, <search_value>[, <search_columnName>, <search_value>]…[, <alternateResult>])
https://docs.microsoft.com/ja-jp/dax/lookupvalue-function-dax
こっちは結構説明が難しいですが
基本的には
LOOKUPVALUE(結果列,検索列,比較列)
(例)
LOOKUPVALUE('table'[result],'table'[search], 'table'[comparison])
結構便利ですが,基本的にはユニーク(一意で特定できる必要があります)
複数の場合はエラーが出てしまいます.
OpenCVで顔認識してみたpart2
顔とはなんだ?
と言うことで
ぶぶー
まぁ,顔として認識されない模様
次!
ピンポーン
まぁいけるな
次!
ぶぶー
ダメでした・・・
次!
一人だけ認識
最後ー
これか???
認識の順番かな・・・
面白い
おまけ
google play のアプリは2ダウンロードしかない・・・
宣伝が大事なのかな.
google playに公開(ルービックキューブ スクランブル)
Android アプリを作ってみる(4) ルービックキューブ スクランブル(ストップウォッチ機能&レイアウト)
作ったものが google playに公開されました.
https://play.google.com/store/apps/details?id=com.test.cubescramblenet
変な権限取得など一切ありません!
パチパチパチパチ
自分で使いたいだけですが,使ってくれる人がいるといいなーと思っています.
公開するまでには
1.google consoleでお金を払う
2.公開設定をする
3.少し問題が見つかり → 再設定
4.めでたく公開
となりました.
公開までの紆余曲折は別途書いていきます.
とりあえず今日は公開バンザーイと言うことで,自分で使いたいものが,アップデートを含めて管理できるのは嬉しいなと言う状況です.
おまけ
Google Play デベロッパー アカウントを取得するためには$25払う必要があります(一回だけ)