OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
At present, prebuilt binaries/packages are not available for OpenCV on Centos/RHEL 5. Here are the notes from my attempts to get it compiled.
Please make sure you have latest cmake installed from http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
To Install OpenCV python modules, you will need python-numpy modules to be installed.
easy_install numpy
Then compile OpenCV using(assuming, your latest python is installed in /usr/local/python-2.7):
cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_EXAMPLES=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DINSTALL_PYTHON_EXAMPLES=ON -DPYTHON_EXECUTABLE=/usr/local/python-2.7/bin/python -DPYTHON_INCLUDE_DIR=/usr/local/python-2.7/include -DPYTHON_LIBRARY=/usr/local/python-2.7/lib/libpython2.7.so -DPYTHON_NUMPY_INCLUDE_DIR=/usr/local/python-2.7/lib/python2.7/site-packages/numpy/core/include/ -DPYTHON_PACKAGES_PATH=/usr/local/python-2.7/lib/python2.7/site-packages/
Using BUILD_NEW_PYTHON_SUPPORT fixes the issue seen below:
CMake Warning: Manually-specified variables were not used by the project: BUILD_PYTHON_SUPPORT
If you get the following Error:
CMake Error at apps/haartraining/CMakeLists.txt:39 (set_target_properties): set_target_properties called with incorrect number of arguments. CMake Error at apps/traincascade/CMakeLists.txt:29 (set_target_properties): set_target_properties called with incorrect number of arguments.
it can be fixed in both files by enclosing ${EXECUTABLE_OUTPUT_PATH} with double quotes (“${EXECUTABLE_OUTPUT_PATH}”)
Then, run make
make
Now, make will throw an error when it tries to compile freak.cpp. To get this compiled, compile it manually (without using any optimization )
cd /home/ram/OpenCV-2.4.3/modules/features2d ; /usr/bin/c++ -Dopencv_features2d_EXPORTS -DHAVE_CVCONFIG_H \ -DCVAPI_EXPORTS -W -Wall -Wformat -Wundef -Winit-self \ -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option \ -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 \ -ffunction-sections -DNDEBUG -DNDEBUG -fPIC \ -I/home/ram/OpenCV-2.4.3/modules/features2d/perf -I/home/ram/OpenCV-2.4.3/modules/features2d/include \ -I/home/ram/OpenCV-2.4.3/modules/highgui/include -I/home/ram/OpenCV-2.4.3/modules/flann/include \ -I/home/ram/OpenCV-2.4.3/modules/imgproc/include -I/home/ram/OpenCV-2.4.3/modules/core/include \ -I/home/ram/OpenCV-2.4.3/modules/ts/include -I/home/ram/OpenCV-2.4.3/modules/features2d \ -I/home/ram/OpenCV-2.4.3/modules/features2d/src -I/home/ram/OpenCV-2.4.3/modules/features2d/test \ -I/home/ram/OpenCV-2.4.3 -o CMakeFiles/opencv_features2d.dir/src/freak.cpp.o \ -c /home/ram/OpenCV-2.4.3/modules/features2d/src/freak.cpp
This should build freak manually, so make will not bother recompiling it anymore. Continue build:
cd /home/ram/OpenCV-2.4.3/ make make install
This completes OpenCV installation. To build the samples:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig cd /home/ram/OpenCV-2.4.3/samples/c chmod +x build_all.sh ./build_all.sh