OpenCV3.0正式版リリース [日常のあれやこれや]
長いことαのままだったOpenCV3.0がこないだリリースされた。とりあえず落としてみてみると、*.dylibだけではなく、OS X用のframeworkにもビルドできるようになっている。zipを展開したフォルダのplatform/osxのなかにbuild_framework.pyというpythonのスクリプトがあってそれを実行するとちゃんとできた....
pythonスクリプトの実行のためにはcmakeが必要でコマンドラインからアクセスできる必要があるけど、cmakeはこれまでもOpenCVのビルドには必要だったし、OS X用のCMake.appには親切にコマンドライン版をインストールできるようになっている。
cmakeのコマンドライン版のインストール先を/usr/local/binなんかにすると管理者権限が必要になって、そのときは優しくauthentification用のダイアログが開いてパスワードを入力できるようになったり...はしないので、僕の場合は失敗してしまった(普通はそうだろう)。でもCMake.app/Contents/binにある実行ファイルへのシンボリックリンクがインストール先に貼られるだけだ、というダイアログがいちいち現れるので、それを見ながらその通り手でやっても知れている。
基本的には以前あったシェルスクリプトと似たようなやりかたでビルドされて、info.plistは前もって作られたものがコピーされる。コンパイルには時間がかかるけど、全然問題なく、なにもしないとXcode経由でコンパイラにClangが使われてotoolなんかで調整されたi386とx86_64のファットバイナリのframeworkが出来上がる(ヘッダとバイナリしかないのに38MBもある。Accelerate.frameworkよりもでかい)。ちなみにデフォルトではdylibは作られない。またXcodeが使ったbuildというフォルダが残骸として残る(もちろんビルドが成功すれば捨てていい)。
3.0が安心して使えるようになるのは嬉しいんだけど、基本的にAPIはすべてC++になって、CのAPIは無縁仏の卒塔婆のような状態で野ざらしになっている。動くのかどうかもわからない。動いたとしても基本的なルーチンしかないし、そもそも構造体の定義を変えてしまっていてC++のAPIが受け取ってくれるかどうかもわからない。でも、C++って複雑で難しくて、特にObjective-Cにスポイルされてしまった年寄りにはかなり厳しい。使うときは勉強して必要なところだけObjetice-Cのラッパを作るようにしないと、すぐわからなくなってしまいそうである。OpenCVを広範囲に使うときはそれでは間に合わなくなるので....ねえ、どうしようか。困ったもんだ。しょうがないけど。
pythonスクリプトの実行のためにはcmakeが必要でコマンドラインからアクセスできる必要があるけど、cmakeはこれまでもOpenCVのビルドには必要だったし、OS X用のCMake.appには親切にコマンドライン版をインストールできるようになっている。
cmakeのコマンドライン版のインストール先を/usr/local/binなんかにすると管理者権限が必要になって、そのときは優しくauthentification用のダイアログが開いてパスワードを入力できるようになったり...はしないので、僕の場合は失敗してしまった(普通はそうだろう)。でもCMake.app/Contents/binにある実行ファイルへのシンボリックリンクがインストール先に貼られるだけだ、というダイアログがいちいち現れるので、それを見ながらその通り手でやっても知れている。
基本的には以前あったシェルスクリプトと似たようなやりかたでビルドされて、info.plistは前もって作られたものがコピーされる。コンパイルには時間がかかるけど、全然問題なく、なにもしないとXcode経由でコンパイラにClangが使われてotoolなんかで調整されたi386とx86_64のファットバイナリのframeworkが出来上がる(ヘッダとバイナリしかないのに38MBもある。Accelerate.frameworkよりもでかい)。ちなみにデフォルトではdylibは作られない。またXcodeが使ったbuildというフォルダが残骸として残る(もちろんビルドが成功すれば捨てていい)。
3.0が安心して使えるようになるのは嬉しいんだけど、基本的にAPIはすべてC++になって、CのAPIは無縁仏の卒塔婆のような状態で野ざらしになっている。動くのかどうかもわからない。動いたとしても基本的なルーチンしかないし、そもそも構造体の定義を変えてしまっていてC++のAPIが受け取ってくれるかどうかもわからない。でも、C++って複雑で難しくて、特にObjective-Cにスポイルされてしまった年寄りにはかなり厳しい。使うときは勉強して必要なところだけObjetice-Cのラッパを作るようにしないと、すぐわからなくなってしまいそうである。OpenCVを広範囲に使うときはそれでは間に合わなくなるので....ねえ、どうしようか。困ったもんだ。しょうがないけど。
2015-06-09 21:25
nice!(0)
コメント(0)
トラックバック(0)
コメント 0