思いつくままを綴る雑記帳

OpenCV 3.0

以前にPython2.x系で動作する版の頃に少しだけ見た程度で・・・その頃には既にBlenderでは3.x系にPythonが変わっていてBlenderからは使えないなぁと・・・・それで頭の中から消えかけていたんだけど。
今年OpenCV 3.0が提供されて正式にPython3.xに対応したと聞いたので試してみたんだけど・・・。
公式PackにはPython3.xバインドが無いらしいと・・・それでいつも探している非公式のUnofficial Windows Binaries for Python Extension Packagesで、.whlファイルを探したらwin32用のがあったのでインストール・・・。
しかし、Python3.4でimportすると何やらエラーが・・・・。
えぇぇぇぇ駄目じゃんと思いつつ、ググって調べると・・・関係しそうな記事を発見・・・。
The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link library KERNEL32.dll
Visual Studio 2012 Update 2を適用するとWinXpで動かないバイナリが生成されるかも・・・的な?
確かに猫さんの環境ではKERNEL32.dllにそんなエントリーポイントは無い・・・。

で、猫さんの環境じゃ使えないわ・・・と、放置していたんだけど・・。
BlenderのビルドがVisual Studio 2013以前のコンパイル環境をサポートしなくなってたので、しばらくビルドなんてしてなかったからね・・・。
で最近ふとっ、ある記事が目に付いたんです。
mingwでビルドした人がいると・・・・Blenderも以前はmingwでビルド出来たけど、ご多分に漏れず対象外になったんだよね・・・。
猫さんも最初はmingwでBlenderをビルドしようとしてインストールした経験が・・・でも、バージョン管理用にcygwinが使われずに残ってただけで・・・。
という具合だったので、まさかmingwでビルド出来るのかなぁと半信半疑でした・・・。

そして、いつものようにググってググって記事を読み漁ってました。
で、結局ビルド出来てPython3.4で動作確認出来ました。
Blender2.75にも入れてみてインポートが出来るのは確認したけど・・・Blenderの終了時に変なエラーを吐くのでBlenderで使うのは取り止めと・・・。
でも、Python3.4で使えるのは何かの機会に何かするのにはいいかも・・・。
猫さんのやった方法は以下の方法。
・mingw32をインストール。
 以前にcygwinといっしょにインストールしていたけど、そっちは一度アンインストールした。
 版が古かったので最新版にするのにGUI Installerのmingwがあるらしいので、それを使った。
 MinGW Installation
・cmake-2.8.12.2-win32をインストール。
 最新版は3.3ぽいけど、opencvのドキュメントを見ると3.1版で書かれている様・・・。
 メジャーバージョンアップしているのは、少し嫌なので元々入れていた版の更新版にしました。
・Opencvのソースをインストール。
 但し、公式サイトのexeからではなくGit リポジトリから入手したソースをインストール。
 一度、公式サイトのソースでビルドしたらエラーが出たので・・・たぶん更新されているリポジトリから再入手した。
・cmakeでコンフィグを設定して、赤色表示されないようになったらジェネレート・・・。
 後はmingw32-makeを実行するだけ・・・。

ビルドが成功したら、ビルドフォルダ/libフォルダ内のcv2.pydとlibcv2.dll.aをPythonのsite-packagesフォルダ下にコピーすれば準備OK。
スポンサーサイト

コメント

コメントの投稿

URL
コメント

パスワード
秘密
管理者にだけ表示を許可する

トラックバック

トラックバックURL : http://perfectcat.blog101.fc2.com/tb.php/313-1479429b
<< Blender Tips(Vertex Color Light) | TOP | 呆れたわ >>