学習記録:3 PythonとOpencv ふたたび
昨日の続きで画像処理の基礎中の基礎, 成分分離と特定要素のみの表示を行った.
まず, 黒画像から赤画像の生成.
すべての要素を0で初期化して得られる黒画像と, その各要素に255を加算して得られる白画像を分割して, 赤の要素のみ白画像のものを使ってマージすると, 以下のような赤画像が得られる.
次に, ベースに写真を利用すると, 以下のようになる.
使用した画像:
赤成分のみ:
青成分のみ:
赤だと花が明るく見えて, 青だと陰になって見えるのは, もともと明るい部分は赤成分が強めだから?だと思われる.
例によってgithubにまとめて貼っておく.
学習記録:2 PythonとLinuxとOpencv
Raspberry pi を使うようになってからLinuxのターミナルを操作する頻度が増えたので, 使ったコマンドを忘れないうちにメモしておく.
1. テキストエディタ起動 $ nano <ファイル名>
3. ファイルorディレクトリ削除 $ rm <ファイル名orディレクトリ名>
5. カレントディレクトリ表示 $ ls
追加でTera termでファイルを移送する方法;
Flie⇒SSH SCP⇒下部のボックスに送りたいファイルのパスと送り先を指定⇒Receive
それから, pythonでopencvをインポートして黒画像の出力とsample画像の読み込み→グレースケールで出力を行ったので, ソースコードと入出力結果の画像を貼っておく.
入力画像:
出力:
黒画像:
もう少しまとまった時間が取れたらがっつりパターン認識とかやりたい.
アップロードとかしてるまに日付更新して一日一投稿間に合わなかった...
活動記録:1 映画鑑賞「未来のミライ」
今日は細田守監督「未来のミライ」を見てきた. やっぱり映画館で見る映画はいいものだ.
この作品は流れの読みずらいCMを多数見ていたが, やはりうっすらと考えていた内容をいい意味で裏切ってくれた. タイトルが「未来のミライ」だけに, 主人公クンちゃん妹の未来ちゃんが主軸になってくるのかと思いきや, 確かに未来ちゃんはキーパーソンではあったが, 要所要所で登場するにとどまり始終クンちゃんの話だった. 穏やかな家族の情景は見ていてほっこりするし, 家族のテンションと幼いクンちゃんの内に秘めた感情の激しさとのギャップがいい味を出していたり始終目が離せなかった.
舞台設定が横浜なのもぐっと来た. おそらく根岸森林公園であろう公園も, 幼いころ自分も行ったことがあると思うと涙が出てくる.
あとなにより戦後の横浜は良い. 宮崎駿監督の「コクリコ坂から」を見たときも感じたが, 昭和の横浜はまさに”エモさ”の塊だ. この休み中ぜひとも一度横浜に足を運びたい.
進捗ゼロ
はい, またしてもやってきました. 進捗ゼロ日です.
まあ一日バイトしていた日に進捗を求めても仕方がないということで.
今日は今後の予定を少し書き出しておくことにする.
優先順位もあまり決まっていないのでとりあえず思いついた順に:
1. Pythonで音声認識ライブラリの開発 (オープンソースのAPIとか覗くといいかも?)
2. ラズパイで対話型AIの実装
3. 一人旅in東北or四国or九州
4. ぶらり日帰り北関東
5. 絵描いたり短編書いたり
6. 基本情報技術者試験の勉強
7. Latexの練習
1の期限は8月末, 2の期限は9月末としておく. 3, 4はそのうち, 予算は合わせて4万以内. 5, 6, 7は継続して少しずつやりましょう.
学習記録:2 Raspberry Piを使って強化学習
はい, というわけで早速日課が崩壊してこんな時間です. まあでも一応目標の1日1投稿は守れているのでセーフとしよう.
気を取り直して,
今回はRaspberry PiにTensorflowをぶち込んで強化学習をやってやりましたの回である.
結果はこちら.
x-y座標軸上の2点を与えると, 最も近い1次関数を返してくれるサンプルプログラムを作って動かした. ちなみにコードはここから拝借した.
qiitaに投稿されてる皆様のおかげで半端な理解でここまでできて嬉しい. と言いつつこれを実装するまでで一番時間がかかったのはTensorflowのインストールと各環境のセットアップ. 何を隠そう日付が変わった頃に更新できなかったのはこれが理由である. 正確にはTensorflow以外にもmecab, gensim, opencv, jtalkなどなど盛りだくさんのモジュールを追加していて, 特にopencvのセットアップに躓いていたため, である.
Tensorflowのインストールで問題だったのは, そもそも私が使っているRaspberry Pi model 3 b+とOSのRaspbianは, 標準でTensorflowに対応しており, 外部からパッケージを落として展開しなくても, ターミナルのコマンドから取得と展開を行えるようになっている, ということに気が付かなかったこと. エラーを吐き続けるコマンドに意味もなく苦しめられた. それからopencv. こいつも参考にしたwebサイトよりも新しいバージョンがリリースされていて, 古いバージョンが消されていたことからえらく時間を食われた. linuxのターミナル操作に不慣れだったのも原因の一つだったかもしれない.
今回入れた各モジュールの紹介は次回あたりでしようと思う. 今日は疲れた.
一応せっかくアカウントも作ったので, 今回作った1次関数誤差修正プログラムのソースコードをgithubに残しておく.
それから元の記事にあったコード通りの点 (1, 4) (5, 2)と, 傾きが-1, y切片が0になるようにいじった(1, -1) (3, -3)では正常に動作したが, 傾き1, y切片1になるように(3, 4) (5, 6)にすると誤差がどんどん開いていく結果になった. これも後で確認が必要だ.