読者です 読者をやめる 読者になる 読者になる

UbuntuにOpenCVをインストール

はじめに
みんな大好きOpenCVUbuntuではインストールするのも簡単でした。
というわけで、手順を書いておきます。


環境


手順
インストール
apt-getで全部入ります。

$ sudo apt-get install libcv-dev libcv2.1 libcvaux-dev libcvaux2.1 libhighgui-dev libhighgui2.1 opencv-doc

カメラ使うならffmpegも入れたほうがいいかも(未確認)。


動作確認
コンパイル
試しに以下のコード(Cannyアルゴリズムでエッジ検出)をコンパイル

/* opencvtest.c */
#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main (int argc, char *argv[]) {
  IplImage *src, *result;
  char *original = "Original";
  char *canny = "Canny";

  if (argc < 2) {
    printf("Usage: opencvtest imagename\n");
    return -1;
  }
  if((src = cvLoadImage(argv[1], CV_LOAD_IMAGE_GRAYSCALE)) == 0) {
    printf("Error: Failed to load %s\n", argv[1]);
    return -1;
  }

  result = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
  cvCanny(src, result, 50.0, 200.0, 3);

  cvNamedWindow(original, CV_WINDOW_AUTOSIZE);
  cvNamedWindow(canny, CV_WINDOW_AUTOSIZE);
  cvShowImage(original, src);
  cvShowImage(canny, result);
  cvWaitKey(0);
   
  cvDestroyWindow(original);
  cvDestroyWindow(canny);
  cvReleaseImage(&src);
  cvReleaseImage(&result);
  
  return 0;
}


コンパイルはこんな感じで。

$ gcc `pkg-config --libs --cflags opencv` opencvtest.c -o opencvtest

pkg-configでOpenCVのインクルードパスやらライブラリやらを指定しています。
単体で実行してみると

$ pkg-config --libs --cflags opencv
-I/usr/include/opencv -lml -lcvaux -lhighgui -lcv -lcxcore

つまり、

$ gcc -I/usr/include/opencv -lml -lcvaux -lhighgui -lcv -lcxcore opencvtest.c -o opencvtest

ってことをやってるわけですね。


実行
実行してみます。

$ ./opencvtest gohan.jpg

できたっぽいです。
f:id:ser1zw:20101030210751p:image


まとめ
UbuntuでOpenCVをインストールしました。apt-getってすばらしい。