いんくらyochさんの日記

興味あることの忘備録

OpenCVをソースからビルド

基板切削にしか利用しなくなったCNC-2020であるが、マーティーの工房日誌さんの記事でbCNCを使ってカメラを利用できることを知ったので、ホストになってるCentOS6.9マシンに環境を構築した。
【requirements】

【カメラ利用は以下追加】

【オートレベリングのマップ利用は以下追加】

  • numpy (pip install)
  • Pillow (pip install)

PythonはbCNCを利用する際に環境構築をしており、現在は2.7.12である。今回はOpenCVのほか、numpyとPillowも入れた。
OpenCVは2.4.13.3のソースを入手したが、その前にFFmpegを構築しておいた。FFmpeg自分に負けないラボラトリーさんのスクリプトを使用し、一部オプションのアーカイブファイルの場所や形式が異なるので修正を加えたほか、FFmpeg自身もgithubから持ってくるようにし、簡単に構築できた。
今回の構築方法ではLibav関連が標準と異なる場所にインストールされるので、/usr/local/lib/pkgconfig内にシンボリックリンクを貼っておくとよい。
で、OpenCVへと移る前にv4lのパッケージが入っていることを確認しておく。

$ rpm -qa | grep v4l
libv4l-devel-0.6.3-2.el6.i686
libv4l-0.6.3-2.el6.i686

bCNCのためのOpenCVのビルドは簡単である。

$ tar xvzf or unzip <Archive>
$ cd opencv-2.4.13.3
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

インストール後の確認は以下でできる。

$ python
Python 2.7.12 (default, Dec 11 2016, 17:13:55) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'2.4.13.3'

確認が済んだらbCNCを起動し、カメラの設定を以下のようにする。

で、右側のワークエリア上部にあるカメラアイコンをクリックするとカメラの映像が出るようになる。

これでカメラ画像によるアライメントの調整などができるようになったので、今後確認予定。