labs.beatcraft.com OpenCV for bc9 †使用する version に関して †OpenCV2.0beta(OpenCV 1.2)は cmake が primary build system になりました。 環境変数設定 †bc9 版を build するためには、bc9 用 kernel を build した時と同様 cross compile のために以下のような環境変数を設定します。 export PATH=/home/beat/gumstix/gumstix-oe/tmp/cross/bin:$PATH export ARCH=arm export CROSS_COMPILE=arm-angstrom-linux-gnueabi- bc9-oe-sdk/bc9-android-sdk の /home/beat/kernel_work/envsetup.sh を source すれば上記の設定が行えます。 configure †以下のような config option で configure を実行します。 ./configure --host=arm-angstrom-linux-gnueabi --build=i686-linux \ --prefix=/home/beat/temp/usr/local \ CC=/home/beat/gumstix/gumstix-oe/tmp/cross/bin/arm-angstrom-linux-gnueabi-gcc \ CXX=/home/beat/gumstix/gumstix-oe/tmp/cross/bin/arm-angstrom-linux-gnueabi-g++ \ CPPFLAGS=-I/home/beat/gumstix/gumstix-oe/tmp/staging/arm-angstrom-linux-gnueabi/include \ LDFLAGS=-L/home/beat/gumstix/gumstix-oe/tmp/staging/arm-angstrom-linux-gnueabi/lib \ make & make install †prefix を /home/beat/temp/usr/local としてありますので、アーカイブ作成のために $ cd /home/beat/temp/usr/local/share/opencv/samples/c すべての samples を一括 build するための build_all.sh がありますので、実行権を与えます。 $ chmod +x build_all.sh この script の中の gcc をすべて /home/beat/gumstix/gumstix-oe/tmp/cross/bin/arm-angstrom-linux-gnueabi-gcc に書き換えます。 $ export PKG_CONFIG_PATH=/home/beat/temp/usr/local/lib/pkgconfig/ ここまでの設定を終えたら build_all.sh を実行します。 $ ./build_all.sh これで samples が build されます。 $ cd /home/beat/temp/ $ tar cvfz opencv_for_bc9.tgz usr できあがったインストール用アーカイブ使って bc9 実機にインストールする場合は以下の手順を実行します。 $ scp opencv_for_bc9.tgz root@{bc9_IPADDR}:~/ bc9 に login 後アーカイブを展開します。 root@bc9:~$ tar -C / -xzvf opencv_for_bc9.tgz 展開終了後、ldconfig を実行します。 root@bc9:~$ ldconfig 次に libstdc++ をインストールします。 が build されていますので、それを bc9 にコピーします。 $ cd ~/gumstix/gumstix-oe/tmp/deploy/glibc/ipk/iwmmxt/ $ scp libstdc++6_4.1.2-r10_iwmmxt.ipk root@{bc9_IPADDR}~/ bc9 に login し、インストールします。 root@bc9:~$ ipkg install libstdc++6_4.1.2-r10_iwmmxt.ipk 正常にインストールが終了したら samples のうち gui を必要としないものが実行できるようになります。 root@bc9:~$ cd /usr/local/share/opencv/samples/c/ root@bc9:/usr/local/share/opencv/samples/c$ ./letter_recog The database ./letter-recognition.data is loaded. Training the classifier ... Recognition rate: train = 4.0%, test = 3.9% Number of trees: 100 var# importance (in %): 0 0.0 1 0.0 2 0.0 3 0.0 4 0.0 5 0.0 6 127.3 7 5.7 8 0.0 9 0.0 10 19.3 11 -5.7 12 -23.9 13 76.1 14 -92.0 15 -6.8 Proximities between some samples corresponding to the letter 'T': proximity(0,103) = 70.0% proximity(0,106) = 56.0% proximity(106,103) = 72.0% URL †ビルド済みのインストール用アーカイブは以下の url からダウンロードできます。 |