OpenCV Cookbook

OpenCV Cookbookという非常に素晴らしいサンプルコード集が、OpenCVでは提供されている。
僕の知る限り、OpenCVの使い方を習得するのに、これ以上参考になった導入の教材はない。
対応するコードはここにある。

svn checkout http://opencvjp-sample.googlecode.com/svn/trunk/ opencvjp-sample-read-only
cd opencvjp-sample-read-only

なお、このプロジェクトはUbuntu 13.04, OpenCV 2.4.6.1の環境ではコンパイルが通らない。
これを解消するためには、c, cpp内のCMakeLists.txtの先頭に、set(OPENCV_LIBRARY [pkg-config --libs opencvの出力結果]), 及びset(OPENCV_INCLUDE_DIR [pkg-config --cflags opencvの出力結果])を追加する必要がある。

cのCMakeList.txtの先頭と、c++のCMakeList.txtの先頭に、
set(OPENCV_LIBRARIES /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_ts.so /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videostab.so)
set(OPENCV_INCLUDE_DIR -I/usr/local/include/opencv -I/usr/local/include)

この修正を加えた後、
cmake .
make
とする。

それでも、数個のプロジェクトではmakeが通らない。
(1) 適宜makeが通らないファイルの拡張子を.c, .cppから.c.org, .cpp.orgなどにするなど、make対象から外してcmake .をし直す
(2) ここのソースを見て問題を解消する
のどちらかをして、makeを最後まで通すと良いと思う。