日別アーカイブ: 12月 19, 2007

「CVtypes.py」OpenCVをctypes経由で使う

[pukiwiki]
自分が忘れた時のために、作業メモ

[[GIMP2.4 win32版のプラグインをPythonで書く インストール編:http://boxheadroom.com/2007/12/16/gimp_python]]の続きです。
*OpenCVをインストール:
-[[Sourceforgeからダウンロード:http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16937]]
-http://boxheadroom.com/wiki/?OpenCV なども参照
**インストーラ版の場合
-インストーラはOpenCV_1.0.exe
-DLLをGIMPバイナリーのフォルダにコピー
-GIMP-Pythonから呼び出す時の都合で、C:\Program Files\OpenCV\bin 以下のDLLファイルをgimp24.exeと同じフォルダにコピーします。
-もっと良い方法が有ると思いますが。。。
**ZIP版の場合
-GIMPから使うだけなら、chopencv-2.5.0-win-binary.zip内のDLLをGIMP24.exeと同じフォルダにコピーするだけ。
-これだけだと、他のPythonプログラムからはOpenCVが使えないかと思います。
*[[CVtypes:http://pypi.python.org/pypi/CVtypes/]]
[[Sourceforgeからダウンロードできます:http://sourceforge.net/project/showfiles.php?group_id=82407]]
アーカイブ中のCVtypes.pyを、
_Pythonをインストールしたフォルダ/Lib/site-packages
にコピーします。
*パッチ
このままだと使いづらいので、私は以下のパッチをあてています。
CVtypes.pyの適当な行に以下を追加
_cvInpaint =cfunc(‘cvInpaint’, _cvDLL, None,
_ (‘src’, c_void_p, 1), # const CvArr* src
_ (‘mask’, c_void_p, 1), # CvArr* dst
_ (‘dst’, c_void_p, 1), # CvArr* dst
_ (‘flags’, c_int, 1), # int flags
_ (‘inpaintRadius’, c_double, 1), # double threshold1
_)

_def cvImageAsString(img):
_ btype = ctypes.c_char * img[0].imageSize
_ return btype.from_address(img[0].imageData)
_
*使い方
http://OpenCV.jp などとの違い。
使うには、
_from CVtypes import cv

OpenCVのCVCreateImage(~)などの関数名は
_cv.CreateImage
と、cvピリオドが頭に付く形に。定数なども同様に。
具体的なサンプルコードは、次の記事で。
[/pukiwiki]

The Django Book/ Building Skills in Pythonなど

[pukiwiki]

*[[The Django Book:http://djangobook.com/en/1.0/]]
Pythonで書かれたWebアプリケーション・フレームワークの解説(英語)~
印刷物も出版されてます、とのこと。

Djangoは流行らしいので、読んでみたいorz
* Building Skills in Python
Pythonプログラミングの本、三冊。ライセンスは[[Creative Commons by-nc-nd:http://creativecommons.org/licenses/by-nc-nd/2.0/deed.ja]]

商用(授業に使うとか?)の場合は、紙の本を買ってください、とのこと。
-[[Building Skills in Programming:http://homepage.mac.com/s_lott/books/nonprogrammer.html]]
-[[Building Skills in Python:http://homepage.mac.com/s_lott/books/python.html]]
-[[Building Skills in OO Design:http://homepage.mac.com/s_lott/books/oodesign.html]]

[[情報元:http://homepage.mac.com/s_lott/iblog/architecture/C588245363/E20071217103823/index.html]]

*[[The HarvestMan Web Crawler:http://www.harvestmanontheweb.com/]]
あとでアルゴリズムの解説などだけ読むかも
//*[[数学研究もオープンソースで。Mathematicaに挑むSage:http://wiredvision.jp/blog/compiler/200712/20071211123829.html]]

*[[Python・BeautifulSoupを使ってAmazonAPIで取ってきたなのはさんDVD情報を整形してみた:http://d.hatena.ne.jp/s_fumizuki/20071215#1197731363]]
//*[[web制作屋は、一体どのスキルを持っていれば即戦力なのか?:http://e0166.blog89.fc2.com/blog-entry-356.html]]

//http://www.daniweb.com/code/python.html
[/pukiwiki]