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

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