画像処理環境構築雑記(SimpleCV編)

Androidからhttp-mjpegをストリーミングできる。
 
AndroidSkype用ワイヤレスWebカメラにできる「IP Webcam」を試す - ir_taktの日記 (id:ir_takt / @ir_takt) http://d.hatena.ne.jp/ir_takt/20110406/1302168352
 
SimpleCV:OpenCV/Pythonに簡易化したものな感じ
http://simplecv.org/
 
一括インストーラなら簡単便利。しかしOpenCVが2.2(2012.2.15現在)
そこでOpenCV2.3.1環境下で構築しようとしたが、いろいろ困難。
まず、2.3.1と2.2でPythonのimport nameが異なる。(新:cv2.cv、旧:cv)
#OpenCV/Pythonがぼちぼち2.xの名前空間に対応しようとしているものだと思う。
解決策としてeggファイルがzipらしいので、2.2から持ってきたものを手動で上記のimport nameだけを弄った。
 
pygameなどがeasy_installで入らない。
Windowsインストーラから入れたり・・・
 
SimpleCVの利点はOpenCV環境からhttp-mjpegを流せるJpegStreamerが標準搭載。
ネットワークストリーミングを受ける側のライブラリはOpenCV始め色々あるが
投げる側のライブラリは実は珍しい。
 
簡単に書くと以下のコードだけでWebcamの垂れ流し可能。

import time
from SimpleCV import Camera, JpegStreamer

c = Camera()
js = JpegStreamer()  #starts up an http server (defaults to port 8080)

while(1):
  c.getImage().save(js)
  time.sleep(0.1)

 
これでPython使いを名乗る?

    • -

古典的ではあるのだが、MJPEG over HTTPってWebsocketの時代でもそこそこ使えるじゃないかと思ってる。
http://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP