■プログラミング

プログラミング初心者が独学1ヵ月でできること

■プログラミング

 こんにちは黒部です。
今回はプログラミング初心者だった社会人の私が独学1ヵ月目で作成できた自作ソフトを紹介します。紹介する目的は、未経験者でも学習をスタートさせればこの程度のことならすぐ出来てしまうということを知ってもらい、プログラミング学習のハードルを下げ、少しでも興味をもってもらうためです。

 本当に何も知らない状態からのスタートでした。確かC言語とC++という言葉を何となく知っていたくらいです。

後半で自作ソフトの仕組みにも少し触れます。

プログラミング初心者が独学1ヵ月でできること【自作ソフト】

<自作ソフトの機能>
以下画像のドットの数を計測し、各々の重心座標と面積をcsv出力する。

このソフトを作成した理由はこちら
機械設計エンジニアの僕がプログラミングを始めた理由

<自作ソフトの解説>
①準備
・計測したいドットの画像Aをフォルダから参照
・ドットのない背景画像Bをフォルダから参照
②解析実行
・「解析実行で結果をcsv出力」をクリック
③結果表示
・計測判定したドットを赤枠で囲って表示
・計測判定したドットのXY座標とpixel数をcsv出力

以下がcsv出力された結果です。
A列が計測判定したドットのNo,B列がX座標,C列がY座標,D列が面積(pixel数)となっています。解析結果は合計ドット数104個、平均面積123.5pixelでした。

<こんな使い方も! 間違い探し>
以下2枚の画像の違いを解く。(5ヵ所)

解析結果(間違いを赤枠で表示)

答え
①右上の船の位置、②真ん中左の船の有無、③右の傘の形、④真ん中下部のシートの色⑤左下ののシートの有無

自作ソフトのプログラム概要解説

このソフトのは以下の流れで処理されています。
①画像Aと画像Bを取り込む
②二枚の画像の差を求める(背景差分)
③独立する差分情報に番号を付与する(ラベリング解析)
④各番号の重心座標と面積を求める(コンター処理)
⑤結果をcsv出力(csv.DictWriter)

 この処理は OpenCVという画像解析ライブラリを使用しており、解析ソフトの外枠やボタンや画像表示などのグラフィック関係はtkinterというライブラリを使っています。

 このソフトを自作するにあたり、まったくプログラミングのことを知らなかったので、「いちばんやさしいパイソンの本 Pythonスタートブック」という本で超基礎を一周やり、そのあとはネット検索で色々なコードを見て手探りでこの解析ソフトを自作しました。作成時間は10時間程かかりました。
コードの解説は別記事で説明しようと思います。

 プログラミング未経験者の皆さんもこれくらいなら本当にすぐ出来るようになります。学習をする上で重要なことは、基礎本を一冊流しで終わらせたら、まず自分で何か簡単なプログラムを作成してみることです。基本初めは色々なコードをネットから検索したりするのですが、そこで得られる知識が多く学習のモチベーションアップにもなるからおすすめです。

今回は以上です。これからもクリップハッカーをよろしくお願いします。