pythonでサクっとWebカメラから画像引っ張ってきて表示。

pygame, PIL, VideoCaptureを使う。

import sys
import pygame
import Image
import VideoCapture

def image2surface(image):
  mode = image.mode
  size = image.size
  data = image.tostring()

  return pygame.image.fromstring(data, size, mode)

camera = VideoCapture.Device()
camera.displayCapturePinProperties()

pygame.init()

size = width, height = 640, 480

screen = pygame.display.set_mode(size)

BLACK = (0, 0, 0)
ORIGIN = (0, 0)
while 1:
  for event in pygame.event.get():
    if event.type == pygame.QUIT: sys.exit()

  image = camera.getImage()
  surface = image2surface(image)

  screen.fill(BLACK)
  screen.blit(surface, ORIGIN)
  pygame.display.flip()

簡単。

Google ChromeのパスワードをKeePass入力可能なCSVに変換する。

Google Chrome内部のパスワード管理ツールに登録されてるパスワードをKeePassに登録させた。

まずChrome Password Decrypterでパスワードをテキストファイルに出力。以下のスクリプトcsvに変換。なんかPython使えるようにしておきたいのでPythonでやってみた。

import re

lireg = re.compile("Chrome Website Sign-on Secrets List")
wupreg = re.compile(" : (.*)")

with open("pass.txt") as f:
  while not lireg.search(f.readline()):
    pass

  f.readline()
  f.readline()

  while True:
    wline = f.readline()
    uline = f.readline()
    pline = f.readline()

    wmatch = wupreg.search(wline)
    umatch = wupreg.search(uline)
    pmatch = wupreg.search(pline)

    if not wmatch:
      break

    url = wmatch.group(1)
    uvalue = umatch.group(1)
    pvalue = pmatch.group(1)

    print('"","%s","%s","%s"' % (uvalue, pvalue, url))
    f.readline()
    f.readline()

Windowsでサクっと顔認識をする遊び。

2011/05/12時点。まあ違う時期でも似たようなもんでしょう。

OpenCV 2.2をインストール

http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/からOpenCV-2.2.0-win32-vs2010.exeをダウンロード、インストール。

Python 2.7.1をインストール

Download Python | Python.orgからPython 2.7.1 Windows Installerをインストール。

numpy 1.5.1をインストール

http://sourceforge.net/projects/numpy/files/NumPy/1.5.1/からnumpy-1.5.1-win32-superpack-python2.7.exeをインストール。

OpenCVPythonライブラリをコピー

C:\OpenCV2.2\Python2.7\Lib\site-packages

の中身を

C:\Python27\Lib\site-packages

にコピー。

適当にスクリプト

OpenCV.jpを参考に適当に書きましょう。

#!/usr/bin/python
# vim: fileencoding=utf-8:

# *参考 
#  * リファレンス
# http://opencv.jp/opencv-2.2/py/objdetect_cascade_classification.html#haar-feature-based-cascade-classifier-for-object-detection
#  * 解説ページ(C言語)
# http://www.aianet.ne.jp/~asada/prog_doc/opencv/opencv_obj_det_img.htm

import cv

storage = cv.CreateMemStorage()

# 「目検出」のための教師データの読み込み
hc = cv.Load("C:/OpenCV2.2/data/haarcascades/haarcascade_eye.xml")

# 画像の読み込み
img = cv.LoadImageM("face.jpg")

# 顔認識(速度のため適当にパラメータ)
#faces = cv.HaarDetectObjects(img, hc, storage)
faces = cv.HaarDetectObjects(img, hc, storage, 1.1, 100, 0, (50, 50))

# (R, G, B)
color = (255, 255, 255)

# 検出したパーツそれぞれの領域を
# 四角で囲む
for (x, y, w, h), n in faces:
  p1 = (x, y)
  p2 = (x + w, y + h)
  cv.Rectangle(img, p1, p2, color)
# 四角を描いた画像を保存
cv.SaveImage("face_detected.jpg", img)
face.jpg


face_detected.jpg

楽ですねー。ちなみにドワンゴ就活時に提出した画像だったと思います。

結婚パーティのお知らせ

私小室直(id:hogelog)とお茶の水大学で博士課程2年の学生の中川真紀(id:MKnkgw)で
3/23に入籍し、3/25,26のいずれかに結婚パーティを開催します。
おそらくかなりくだけた飲み会のようなものです。
詳細は以下のウェブページで随時更新します。
http://partake.in/events/be7593c3-1139-42fa-9f68-68315a853eed

お茶の水女子大の施設を会場として利用し、
徴収額はとりあえず学生: 3000円、社会人: 5000円ぐらいで想定しています。

参加したい方は可能であれば上記のウェブページで(twitterアカウントが必要です)、
そうでなければ私までメールください。

まあ老若男女色々な人が来そうですので割と面白いかもしれません。
暇な人、女子大に興味がある人、ご祝儀を大量にくれたい人などははぜひどうぞ。

Mac OS XにEasyTetherをインストールするとadbがデバイスを認識しなくなる件

FAQに27. ADB on Mac OS X stops recognizing the attached device after installing EasyTether driver.として書いてある。場当たり的な対応として.bash_profileに以下のようなaliasを設定、Androidアプリの開発するときはEasyTetherをオフにする。

EASYTETHER_EXT=/System/Library/Extensions/EasyTetherUSBEthernet.kext
alias easytether-on="sudo kextload $EASYTETHER_EXT"
alias easytether-off="sudo kextunload $EASYTETHER_EXT"
alias easytether-status="kextstat |grep EasyTether"

test