netさんのブログラム

自分へのメモを含めたITのんびりブログ

OpenCV(part4)で顔認識して猫にしてみた

引き続きOpnenCV

顔認識まで行って,その座標を使って猫化させてみました.

 

猫っぽいという認識をしたわけではありません・・・

f:id:net9999:20200226204144p:plain

猫化1

 

面白い

 

f:id:net9999:20200226204211p:plain

猫化2

こうやってみると一つ被ってるところがある.

二つ顔として認識してたんだなと.

 

元画像については昨日のブログを参照ください.

OpenCVで顔認識してみたpart3

複数認識させたら面白かった!

 

その1 家族

f:id:net9999:20200225180737j:plain

家族の絵

口を開けている人の認識が高いということか?

 

 

その2 お面

f:id:net9999:20200225180850j:plain

おめんの絵を顔認識

左上の  「 お 」 が認識されているのに笑った.

 

識別するための学習ファイルは1つしか使っていませんので,あしからず.

 

参考(カスケード識別器の学習済みファイル)

学習済みファイルはopencv/data/haarcascades/ 

にありました.

kotlin画面遷移(android studio)

1.画面遷移したい

2.書くところをまとめる

 

とりあえず2画面の動かし方

最初の画面

最下部に次の画面に行くボタンをつけた

f:id:net9999:20200224145641p:plain

最初の画面

 

次の画面

最下部に戻るためのボタンをつけた.

ちなみに現在の画面はpaletteのtextを適当に並べただけの画面

f:id:net9999:20200224145744p:plain

次の画面

 

 

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 が出てくるので押す!

f:id:net9999:20200222194650p:plain

android studioのバージョン記載場所

 

修正後,

versionCode 2

versionName "1.1"

とした,2でよかったのかもとも思いましたが,まー修正ですので・・・

f:id:net9999:20200222194757p:plain

android studioのバージョン記載場所(バージョン1.1にした)

 

3.再build

始めてアップする前まではapkを作るものかと思っていましたが,aabと言う拡張子のファイルができます.

こっちじゃないと通らなかった

f:id:net9999:20200222194837p:plain

再 Build

 

これね aab → Android App Bundle

f:id:net9999:20200222194914p:plain

再 Build2

 

出来上がったアプリ

f:id:net9999:20200222195014p:plain

出来上がったアプリ

 

4.google play consoleでファイルをアップデート

google play console でアプリのリリースを選択

アプリのリリース → 製品版 →右上の管理を押す

f:id:net9999:20200223082142p:plain

Google Play Console

 

 

リリースを作成する

f:id:net9999:20200223082327p:plain

リリースを作成

f:id:net9999:20200222195033p:plain

Google Play Consoleの状況

 

リリースノートを書いて完了

f:id:net9999:20200222195113p:plain

Google Play Console完了!

f:id:net9999:20200223082622p:plain

今回のリリースノート

 

5.そして

アップデート直後に公開しました!

って出ましたが,約30分後に実際のサイトは修正されました.

 

そして,めでたくスマホ側でもアプリの更新が表示されていました!

いやー簡単に配布できて,修正もできる.

下の絵は1.1ですが,現在1.2になっています.

f:id:net9999:20200222200833p:plain

アップデート後

 

 

 

おまけ

どこが変わったか?

画面全体のリセットとタスク終了ボタンつけました.

ブチっとタスク切れますが,タイマーついてるから終了ボタンがあったほうが安心かなーと

f:id:net9999:20200223083007p:plain

バージョンアップ箇所


 

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

顔とはなんだ?

 

と言うことで

f:id:net9999:20200222000431p:plain

忍者!

ぶぶー

まぁ,顔として認識されない模様

 

次!

f:id:net9999:20200222000520j:plain

イライラした人

ピンポーン

まぁいけるな

 

次!

f:id:net9999:20200222000634p:plain

ぶぶー

ダメでした・・・

 

次!

f:id:net9999:20200222001025j:plain

複数人

一人だけ認識

 

最後ー

f:id:net9999:20200222001238j:plain

お面

これか???

認識の順番かな・・・

 

面白い

 

おまけ

google play のアプリは2ダウンロードしかない・・・

宣伝が大事なのかな.

google playに公開(ルービックキューブ スクランブル)

Android アプリを作ってみる(4) ルービックキューブ スクランブル(ストップウォッチ機能&レイアウト)

 

作ったものが google  playに公開されました.

https://play.google.com/store/apps/details?id=com.test.cubescramblenet

変な権限取得など一切ありません!

f:id:net9999:20200218134151p:plain

アプリをgoogle playに公開しました.

 

パチパチパチパチ

自分で使いたいだけですが,使ってくれる人がいるといいなーと思っています.

 

公開するまでには

1.google consoleでお金を払う

2.公開設定をする

3.少し問題が見つかり → 再設定

4.めでたく公開

 

となりました.

公開までの紆余曲折は別途書いていきます.

 

とりあえず今日は公開バンザーイと言うことで,自分で使いたいものが,アップデートを含めて管理できるのは嬉しいなと言う状況です.

 

 

おまけ

Google Play デベロッパー アカウントを取得するためには$25払う必要があります(一回だけ)