create every day - 福野泰介の一日一創

富士通 x 鯖江市 x Code for Japan! 障害者をテーマにスタート「第4期コーポレートフェローシップ in 鯖江」とPython3で市役所スクレイピング

2017/11/01 23:55:00
#python #opendata #sabae #codefor 

Code for JapanコーポレートフェローシップSAPジャパン奥野さんNECソリューションイノベータ石崎さんYahoo!Japanより廣瀬さんと葛城さんに続く、鯖江、第4シーズン!


コーポレートフェローとして臨時鯖江市職員となった、三ツ山さん(富士通) Hana道場


鯖江市長へ自己紹介&記者会見


早速、地元の購読率ナンバー新聞紙、福井新聞にて掲載&鯖江市長のシェア!


鯖江市役所の担当課の人たちとミーティング、ヒアリングとアイデアソンの予定が決まりました!


いかに一元的、かつ、わかりやすく情報提供ができるか!?
障害者、障がい者、障礙者、障碍者、表記がまずはややこしい・・・。
情報整理など、いろいろ使うため、まずは鯖江市役所のwebサイトをスクレイピング!

使用言語は、Python3、充実のライブラリが楽ちんですね。
scrape sabae / src on GitHub
1615ファイル取得した後に、Stack Over Flow で停止、まだ実用には耐えませんが、参考にどうぞ!

ネット接続IchigoJamを使って大規模プログラムを共有する 〜紙からネットへ〜

2016/09/26 23:55:00
#IchigoJam #KidsIT #python 

日本初のパソコン、日立ベーシックマスター
38年前の今月、1978年9月に日本初登場の8bitパソコン、CPUの周波数はなんと750kHz(0.75MHz)!
RAM4KB、32x24文字のモノクロテキスト、BASICとマシン語、スペックがIchigoJamっぽい!

マシン語やBASIC、周辺機器や自作ゲームの売り買い情報満載の当時のユーザーの熱気が伝わる1984年の同人誌「BASIC MASTER LEVEL2 MAGAZINE」を入手!(LEVEL2とは、ベーシックマスターのROMが4KBから8KBになった拡張用の意)

IchigoJamは、こどもでも手軽に手に取れる紙を基本にしていますが、子供にとってもネットという手段は当たり前、せっかくつくったプログラムは広く公開したくなるはず。 そんなとき便利なこどもネットワークボード「MixJuice」、IchigoJamにこうして挿して使います。

まずは家の無線LANを設定して

?"MJ APC [ssid] [password]

webからダウンロード!

?"MJ GET ichigojam.net/p/B-TOUCH-MASTER.TXT

すぐに遊べます!(ブラインドタッチマスター for IchigoJam

こどもプロコンに応募があった、EEPROMを何スロットも使った大作。一気にIchigoJamに転送するため、Pythonで連結プログラムを作成

# make a combined file for MixJuice on IchigoJam # public domain import os out = open("out.txt", "bw") files = os.listdir("src") for file in files: print(file) out.write(("cls'\nnew\n").encode("SJIS")) fp = open("src/" + file, "br") d = fp.read() fp.close() out.write(d) out.write(("\nsave" + file[0:-4] + "\n").encode("SJIS")) out.write((" \n").encode("SJIS")) out.close()

フォルダに入っているファイルを連結して、out.txt というファイルを生成。これをwebにアップロードしておけば、大作をまとめてEEPROMへとダウンロードできます。 (EEPROMへの保存コマンドが含まれるので、大切なEEPROMをうっかり消さないように注意が必要です、セキュリティの基本は自己防衛!)

MacでPython3とOpenCVの「はじめのいっぽ」インストールから輪郭抽出まで

2016/09/03 23:55:00
#python 

話せる言葉が増えると世界が広がるのはプログラミングの世界も一緒。
人工知能や機械学習で人気なプログラミング言語、Python(パイソン)はじめてみました。
使えるライブラリ(=用途に合わせたプログラムの部品)の数は日々増え続けていて、現在87870コ(PyPI - the Python Package Index)

Macを使っている方は、実はすでにインストールされていて、すぐに電卓替わりにも使えます。
右上の検索で「ターミナル」と打ち込み、出てきた黒い画面で「python」と打ち込んでエンター。
バージョン情報などが出てきて、入力待ち状態になったら、「1+1」などと書いてみます。

$ python Python 2.7.10 (default, Oct 23 2015, 19:19:21) [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 1+1 2 >>> hex(100) '0x64' >>> bin(0xff) '0b11111111' >>> 2**10 1024 >>> 2**1000 10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376L

16進数、2進数、べき乗(**)を使ったよく使う計算が簡単にできます。
数の上限がないので、2の1000乗だって計算できちゃいます!

Pythonはバージョン3以降で仕様が変わっているので、本格的に使う場合は、Python3がオススメです。
バージョンが変わるとインストールの仕方も変わってしまうので、思い立ったが吉日!即、設定してしまいましょう。

OpenCV(画像処理で有名な機械学習でもよく登場するライブラリ)をPython3で使う手順
1. 「Download Python | Python.org」から最新版をダウンロードして、インストール
2. ターミナルを開く
3. 「python3」で動くことを確認、Ctrl+D でpythonを抜ける
4. 「pip3 install numpy」と数値計算ライブラリをインストール
5. 「brew install homebrew/science/opencv3 --without-numpy --with-python3」として、OpenCVをインストール(時間かかる)
6. 「brew link opencv3 --force」で設定(不要かも?)
7. 「echo 'export PYTHONPATH=/usr/local/lib/python3.5/site-packages' >> ~/.profile」と設定
8. ターミナルを閉じて、再度開く

OpenCVを使った画像処理、輪郭抽出のサンプル

import cv2 img = cv2.imread("meganesummit2016.jpg") canny = cv2.Canny(img, 100, 200) cv2.imshow('image', canny)

先頭のimportで、OpenCVライブラリを使える状態にして、画像読み込み、画像処理、表示の順。

cv2.imwrite("out.jpg", canny)

で、ファイルとして書き出すこともできます

cv2.destroyAllWindows()

で、ウィンドウを閉じて、またいろいろと実験してみましょう!
OpenCV Tutorials — OpenCV 2.4.13.0 documentation


画像「電脳メガネコンテスト2016」(未来のメガネづくり

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image