Ubuntu12.04+OpenCV+NetBeans
Ubuntu 12.04 DesktopにOpenCVとNetBeansを入れて,サンプルプログラムを作り,コンパイルし,実行するまでの流れ.
Ubuntuインストール直後にやっておいたこと
$ sudo apt-get install build-essential
OpenCVのインストール
$ sudo apt-get install libcv-dev libcv2.3 libcvaux-dev libcvaux2.3 libhighgui-dev libhighgui2.3 opencv-doc
NetBeansのインストール
まずは,Java
$ sudo apt-get install openjdk-6-jdk
その後,https://netbeans.org/downloads/ から,C/C++がバンドルされたものをダウンロード.
ここでは,netbeans-7.4-cpp-linux.sh をダウンロードする.
実行権限を付与して,インストールする.インストールはsudoでないことに留意.
$ chmod +x netbeans-7.4-cpp-linux.sh $ ./netbeans-7.4-cpp-linux.sh
サンプルコードをmain.cppに書いて実行
http://ser1zw.hatenablog.com/entry/20101030/1288441129 をベースに,http://ninetynine.be/blog/2011/11/setting-up-opencv-2-3-and-netbeans-7-0-on-ubuntu-oneiric-11-10/ を参考にしてinclude部分を少し書き換えました.
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc_c.h> #include <iostream> #include <stdio.h> using namespace cv; using namespace std; 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; }
(using namespaceとか分かっていないので,たぶん間違っているか,無駄な記述……iostreamも今回は動画ではなく画像なのでいらないと思われる)
実行
$ cd dist/Release/GNU-Linux-x86 $ ./cppapplication_1 ~/sample.jpg
~/sample.jpgは適当な画像.オリジナルのグレースケール画像と,輪郭出力画像が表示されればOK*2.