【python】opencv3を使って、画像処理をやってみよう。
- opencv3
- 今日使うソースコードの紹介
- 特徴量マッチング
opencv3とは
opencvとは、コンピュータで画像や動画処理のための機能が備わっているオープンソースのライブラリです。pythonとopencvを組み合わせることで様々な場面で活躍している。
opencv-python-tutroals.readthedocs.io
今日使うソースコードの紹介
今回使うソースコードはこれを参考にしています。
ここのソースコードにはA-KAZEが使われている。
ホームページ
http://www.robesafe.com/personal/pablo.alcantarilla/kaze.html
ライセンス
https://github.com/pablofdezalc/akaze/blob/master/LICENSE
このコードの途中にfn1=,fn2=のところに読み込む画像を書き込む。
このコードの実行結果は次のようになる。
特徴量マッチングについて
このように特徴量のマッチングが表示され見やすくなっている。また、画像を見てみるとしっかりと特徴の同じ場所にマッチしていることが分かる。opencvには多くのライブラリがあり、特徴量マッチング以外にも様々なことが出来る。
【python】matplotlibを使ってデータの可視化をしてみよう
matplotlibについて
matplotlibはデータ分析によく使われており、データを可視化する必要不可欠なライブラリです。matplotlibは、データサイエンスや機械学習、人工知能にも使われるライブラリです。データを散布図や棒グラフ、円グラフ、ヒストグラムで表すこともできます。今日は、円グラフとバブルチャートについて紹介します。
ソースコードと説明
今回使うライブラリをインポートします。
このように表示される。
jupyter notebookについて
データ分析についてはjupyter notebookがとてもおすすめである。jupyter notebookはpythonコードをすぐに実行できるので、グラフも簡単に表示でき、エラーも見つけやすい。ぜひjupyterの環境を構築してみてください。
このように実行できる。
まとめ
データサイエンスはとても注目を浴びている。今日扱った内容は、ほんの一部ですが、多くの表示の仕方がある。データを分析することでデータの予測や現状の課題なども発見できる。ここで興味を持った方はぜひ自分でも手を動かしてみたり、調べてほしい。
【好きなバンド】クリープハイプを語りつくす。
Sponsored by 森永乳業
今日は自分の好きなバンドのクリープハイプについて語りたいと思います。実はこの記事を書いている途中もクリープハイプを聞いています。クリープハイプが好きな人も知らない人も読んでみてください。
クリープハイプ
ボーカルとギター担当の尾崎世界観とギターの小川幸慈、ベースの長谷川カオナシとドラムの小泉拓の4人組のロックバンドです。尾崎世界観は「祐介」「苦汁」などの本も書いていて様々な活動をしています。クリープハイプのメンバー全員の顔が濃い!!多分、一回見れば覚えられるくらい顔が濃いです。一番最近のアルバムは、「泣きたくなるほど嬉しい日々に」ですね。多分このアルバムの中では「ゆっくり行こう」が一番知名度があると個人的には思います。
優しい尾崎さんの声が良いので是非聞いてみてください。
インディーズ時代
僕もインディーズ時代をよく知っているかと言われると、実は詳しくは悔しいですが知っていないのです。なぜかというとインディーズ時代のアルバムは廃盤が多く、なかなか手に入らないのです。ですがインディーズ時代で一番好きなアルバムが「When I was young, I'd listen to the radio」です。このアルバム名はCARPENTERの「Yesterday Once More」の一番最初のフレーズなんですよ!もしかしたら、尾崎世界観が若い時に聞いてた曲なのかもしれませんね。そのアルバムの中で一番好きな曲は「イエスタデイワンスモア」「アンタの日記」と「蜂蜜と風呂場」です。「イエスタデイワンスモア」はこのアルバムの最後に入っているのですが、この曲はこのアルバムのまとめだと捉えています。なぜかというと「イエスタデイワンスモア」の歌詞には、このアルバムの全ての曲の歌詞が少しずつ埋め込まれているのです。このアルバムは一種の小説のような構成になっていて「イエスタデイワンスモア」はその結に値すると感じました。また、この「蜂蜜と風呂場」の歌詞は
蜂蜜と風呂場 歌詞「クリープハイプ」ふりがな付|歌詞検索サイト【UtaTen】
ここから読んでみてください
この歌は尾崎世界観の風俗嬢について書いたと言われています。冒頭の部分で「蜂蜜みたいな味がするなんて嘘ついて嘘ついてくれた」や「こうしてカバみたいに歯医者で、口を開けていると君の気持が分かるよ」というフレーズや「月額定額制の僕の恋人」などからも風俗嬢について書かれているとわかります。そして「イエスタデイワンスモア」には『つないだ手のひらは蜂蜜の匂いがする。』『似たような嘘ついてくれたあの人は今でも元気に暮らしているかな?』という歌詞があり、「蜂蜜と風呂場」を回想していることが分かる。
とても面白いですよね。ぜひ聞いてみてください。
クリープハイプの魅力
クリープハイプと出会ったのは、高校1年生の時です。最初の印象は、「世界観の声が生理的に受け付けない」でした。今はこんなに好きなのに、、、、でも、徐々にその声に惹かれていました。私の思う【クリープハイプの魅力】は「声」と「人間味」と「エロさ」だと思います。そして、たまに見える尾崎世界観の優しさがとても好きですね。あとは曲の出だしのイントロがめちゃくちゃ好きです!!僕のおすすめする曲は全部と言いたいところなんですが全部紹介できないのでいくつか挙げます。
おすすめの曲は、「社会の窓」「エロ」「二十九、三十」「バンド」です。(もっと紹介したい、、、)
「社会の窓」は尖がっている尾崎世界観が見えます。これは、尾崎世界観の本音なのかわかりませんが、、、また、途中のベースの音やギターのテクニックもすごいと感じるところですね。
次は「エロ」って曲ですね。これは尾崎世界観が二十代に作られた歌でやんちゃしてた頃に書かれたと考えています。歌詞が全体的にエロいんです。夏のはかなさも感じることできます。そして、このイントロがとてもいいんですよね
そして「二十九、三十」です。この曲は私が一番好きな曲かもしれません。この歌は、尾崎世界観が二十代から三十代になったときの心情の変化が書かれていると言われています。やんちゃだった20代から30代になって少し落ち着いた雰囲気を曲で表しています。この曲には尾崎世界観の「優しさ」や「寂しさ」が見え隠れしているように感じることが出来て、好きです。
最後に「バンド」です。この曲は世界観ていうアルバムに入っており、「クリープハイプ愛」が詰まっています。世界観がメンバーに直接「感謝」や「愛」言うのが恥ずかしいからなのか、曲として歌っていて好きですね。この歌では、世界観の優しさがにじみ出すぎですね、、ド直球に好きです。
クリープハイプの愛
この記事ではクリープハイプの魅力や歌の考察を中心にやってきましたが、この記事を書いていてよりやっぱり好きなんだなあと実感しました。。世界観が高い声が出なくて苦しんだ時期もありましたが、高い声が出なくなったとしてもずっと好きでいると思います。他にももっと紹介したい曲があるので、時間があったらバシバシ書いていきたいと思います。また、興味がわいた人や聞いてみたいと思った人はYouTubeなどでも調べてみてください。
【pythonを】GUIのアプリ開発の基礎を学ぼう
GUIとは
GUIとはGraphical User Interfaceの略である。現在のアプリケーションなどもGUIを採用している。コンピュータグラフィックスやポインティングデバイスを用いたグラフィカルであることを特徴としたものである。pythonのGUIライブラリは主に3つある。
今回はTkinterを使ってGUIアプリの基本を紹介したい。
今回使うモジュールについて
先ほども紹介したが今回はTkinterを使う。
Tkinterのできることは以下がある。
- クリックボタンの作成
- メニュー
- ラジオボタン
- クリックアクションの作成
- リストボックス
- 入力ボックスの作成
などがある。
ソースコードについて
実際に動かしてみるとこのようになる。正解のボタンを押すと〇を表示することが出来る。
最後に
ここでは、Tkinterの本の一部しか紹介していないが、単語テストなどもTkinterを使って作ることも可能である。この記事でTkinterが面白いと感じた方は自分でも実際に動かしてみてほしい。私もTkinterが面白くていろいろ試してみました。また、何か質問があれば、ツイッターのDMなどにコメントをお願いします。
pythonでGUIの英単語アプリを作りました。 pic.twitter.com/XflhUiVAU4
— パンナコッタ (@panNaKott25) 2019年4月15日
Pythonの基本を学ぼう。ジャンケンと勝ち負けの判別
この記事で扱う文法
if文
今回はif文について詳しく説明していきます。前回の記事で全体的な関数の使い方やif 文の使い方を説明しましたので、目を通してみてください。pannakotta.hatenablog.jp
今回はif文を少し詳しく説明していきたいです。if文は論理式が必要です。論理式では、「かつ」・「または」がよく出てきます。「かつ」・「または」を「and」,「or」を使って表します。
また、複数の条件を使う場合「elif」を使うと良くなります。「elif」は「else if」の略でC言語では「else if」と使われています。このようにいろいろな条件分岐が出来るのです。
前回説明しませんでしたが、条件式の中の論理的同値(値が等しいとき)は「==」で表記します。
モジュールについて
モジュールとは、コードを記述して、他のプログラムから再利用できるようにしたファイルのことです。
自分でPython言語を使用して開発する通常のモジュールの他にも、もともとPythonにデフォルトで組み込まれている「組み込みモジュール」があります。モジュールを読み込むには次のように、書きます。
この記事では、「random」を読み込んだプログラムを紹介します。
ジャンケンのソースコードと説明
まとめ
今回はpythonを学び始めで学ぶ知識を中心に使ってプログラムを作りました。同じような出力でも様々なプログラムがありますので自分でも、作ってみましょう。そうすることでより一層理解もでき、楽しめるでしょう。また、このコードでも表示されなかったり、分からない点がありましたら出来るだけ対処したいと思います。
「プログラミング言語 Python」本田圭佑とのジャンケンコードを作って、Pythonの基本を楽しく、10分で学ぼう
はじめに
Pythonの開発環境を作ってみたけど何をすればよいかわからない方や、実際にコードを書いて学びたい方に参考になればと思い書きました。今日紹介するコードは、少し前にツイッターなどで流行った本田圭佑さんとジャンケンをPythonで作ってみました。ちなみにこのコードは本田圭佑さんの勝率は100%としています。
ぜひ、実際に手で打ち込んでみてください
この記事で扱うPythonの関数と文法について
- print関数
- input関数
- if文
print関数
print関数は一番使うことが多いくらいの重要な関数であり、出力する関数である。print('出力したいもの')として書かれる。print関数を使うことで()の中身を表示することのできる。リストや辞書型のオブジェクトも出力可能である。とても様々な場面で使われている。
print('出力する内容')
input関数
input
input関数は、入力関数であり、打ち込んだ内容を読み込む関数である。この関数も良く使われ基礎として知ってほしい関数だ。文字の入力や数値代入も可能である。
number = input('好きな数入力してください:')
if文
if文はプログラム内の条件分岐したいときによく使われています。文法的な説明としては次のようになります。ここで重要なのはインデント(行頭の位置)です。pythonはインデントによって認識しているので、エラーが起こったら、インデントや:を気を付けてみてください。また、else以下は必ずしも必要ではないです。
if '条件式': ['条件式がTrueの時の処理'] else: ['条件式がFalseの時の処理']
本田圭佑とジャンケンのコードとコードの説明
#print関数でじゃんけん!を表示# print('じゃんけん!') #input関数でグー・チョキ・パーを入力 your_janken = input('あなたはグー・チョキ・パーの中で何をだす?:') #ジャンケンで出した手をjankenとして置く janken = [your_janken] your_janken1=['グー'] your_janken2=['チョキ'] your_janken3=['パー'] #if文 #inputでグーを選択した場合本田圭佑:パーを出力 if janken == your_janken1: print('ポン!!') print('本田圭祐:パー') print('YOU LOSE\n本田圭佑:「俺の勝ち!なんで負けたか、明日までに考えといてください。そしたら何かが見えてくるはず。」') print('「ほな、いただきます。」') #if文 #inputでチョキを選択した場合本田圭佑:グーを出力 if janken == your_janken2: print('ポン!!') print('本田圭祐:グー') print('YOU LOSE\n本田圭佑:「俺の勝ち!なんで負けたか、明日までに考えといてください。そしたら何かが見えてくるはず。」') print('「ほな、いただきます。」') #if文 #inputでパーを選択した場合本田圭佑:チョキを出力 if janken == your_janken3: print('ポン!!') print('本田圭祐:チョキ') print('YOU LOSE\n本田圭佑:「俺の勝ち!なんで負けたか、明日までに考えといてください。そしたら何かが見えてくるはず。」') print('「ほな、いただきます。」')
プログラミング言語に悩んでいるならpythonを学んでみよう
- [目次]
- はじめに
- プログラミング言語
- pythonを推す理由
はじめに
この記事は最近プログラミングに興味があるけど、言語も多くなにを学べばよいか分からない方やプログラミング言語にどのような特徴があるか知りたい方に少しでも参考になればと思っています。
プログラミング言語について
C言語
昔から使われている言語で高級言語のひとつであ。多くの大学でC言語を授業では中心に扱われている。現在でも多くのシステムやOS関係に使われている。C言語と似ている言語で、C++やC#という言語もある。C言語の処理速度はとても早く複雑なアルゴリズムなどではC言語の方が向いている。
Python
Pythonは多くのライブラリーを持ち、多方面で使用されている。最近AIブームと言われているが、機械学習や人工知能、Deep Learnigの分野でも活躍している。また、instagramやyoutubeなどのWEBアプリもPythonが使われている。文法も比較的簡単である。
Javaはアプリ開発をとても得意としていて幅広い開発に携わっている。また、Javaはオブジェクト指向の言語であり、部品同士を組み立てて作っていく言語である。
Ruby
Rubyは汎用性が高くオブジェクト指向言語であると同時にスクリプト言語でもあるので、他言語と比べて少ない量のコード記述でプログラミングができ、特にサーバサイドの言語として利用されている。Rubyは、Web系プログラミング言語の特徴と似ているのでPythonやJavaを学んだ後でもスムーズに学べる。
その他
ここまで紹介した言語はとても有名な言語であり、最近注目されている言語でもある。ここで紹介した言語以外にもPHPやSwiftなど様々な言語がある。
Pythonを推す理由
これまでにいろいろな言語を紹介してきたが私は初めてプログラミングを始める方には、Pythonをおすすめしたい。その理由には、一つ目が文法が比較的優しいからである。初めてプログラミングを勉強する人や独学している人にとって、続かない理由は、文法の難しさにある。文法が分からないと何をしているか分からなくなり、ソースコードをただ写しているだけですぐ飽きてしまう。二つ目が多くのライブラリーがあり、様々な場面に使われていることである。Pythonでは、多くのモジュールがあり、データ分析や機械学習、人工知能、Webアプリ開発やopencvを使った画像処理など、自分の興味ある分野に使うこともできとても面白い。