8

Is it possible to install OpenCV 3.0, opencv python on Raspberry pi b+? How to install and are there any precompiled binaries available ?

asked Jan 31, 2015 at 13:10

2 Answers 2

12

Last night I've just built version 3.0.0-beta on the B version. It should be the same in a B+.

Below are the steps that I've done to build it from the source (adapted from: http://robertcastle.com/2014/02/installing-opencv-on-a-raspberry-pi/). Hope it helps.

Make sure your system is up-to-date. Run:

sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

Next install required dependencies:

sudo apt-get install build-essential cmake cmake-curses-gui \
 pkg-config libpng12-0 libpng12-dev libpng++-dev \
 libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev \
 pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev
sudo apt-get install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs \
 ffmpeg libavcodec-dev libavcodec53 libavformat53 \
 libavformat-dev libxine1-ffmpeg libxine-dev libxine1-bin \
 libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev \
 python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev

Now the interesting part, change to a directory to put the sources and compile OpenCV.

cd /home/pi/builds/
git clone https://github.com/Itseez/opencv.git
cd opencv/
git checkout tags/3.0.0-beta
mkdir release
cd release/
ccmake ../

Press c to start the configuration process. You may toggle some options if you like, my final options are below. If you change any option press c again to configure. Now press g to generate the Makefile. Now continue the build process, notice that the make command will take several hours (it took 7h on my raspberry pi B model).

make
sudo make install
sudo ldconfig

Here are the options settings used in the configuration step:

 ANT_EXECUTABLE ANT_EXECUTABLE-NOTFOUND 
 BUILD_CUDA_STUBS OFF 
 BUILD_DOCS ON 
 BUILD_EXAMPLES OFF 
 BUILD_JASPER OFF 
 BUILD_JPEG OFF 
 BUILD_OPENEXR OFF 
 BUILD_PACKAGE ON 
 BUILD_PERF_TESTS ON 
 BUILD_PNG OFF 
 BUILD_SHARED_LIBS ON 
 BUILD_TBB OFF 
 BUILD_TESTS ON 
 BUILD_TIFF OFF 
 BUILD_WITH_DEBUG_INFO ON 
 BUILD_ZLIB OFF 
 BUILD_opencv_apps ON 
 BUILD_opencv_calib3d ON 
 BUILD_opencv_core ON 
 BUILD_opencv_features2d ON 
 BUILD_opencv_flann ON 
 BUILD_opencv_highgui ON 
 BUILD_opencv_imgcodecs ON 
 BUILD_opencv_imgproc ON 
 BUILD_opencv_ml ON 
 BUILD_opencv_objdetect ON 
 BUILD_opencv_photo ON 
 BUILD_opencv_shape ON 
 BUILD_opencv_stitching ON 
 BUILD_opencv_superres ON 
 BUILD_opencv_ts ON 
 BUILD_opencv_video ON 
 BUILD_opencv_videoio ON 
 BUILD_opencv_videostab ON 
 BUILD_opencv_world OFF 
 BZIP2_LIBRARIES /usr/lib/arm-linux-gnueabihf/libbz2.so 
 CLAMDBLAS_INCLUDE_DIR CLAMDBLAS_INCLUDE_DIR-NOTFOUND 
 CLAMDBLAS_ROOT_DIR CLAMDBLAS_ROOT_DIR-NOTFOUND 
 CLAMDFFT_INCLUDE_DIR CLAMDFFT_INCLUDE_DIR-NOTFOUND 
 CLAMDFFT_ROOT_DIR CLAMDFFT_ROOT_DIR-NOTFOUND 
 CMAKE_BUILD_TYPE 
 CMAKE_CONFIGURATION_TYPES Debug;Release 
 CMAKE_INSTALL_PREFIX /usr/local 
 CUDA_BUILD_CUBIN OFF 
 CUDA_BUILD_EMULATION OFF 
 CUDA_HOST_COMPILER /usr/bin/gcc 
 CUDA_SDK_ROOT_DIR CUDA_SDK_ROOT_DIR-NOTFOUND 
 CUDA_SEPARABLE_COMPILATION OFF 
 CUDA_TOOLKIT_ROOT_DIR CUDA_TOOLKIT_ROOT_DIR-NOTFOUND 
 CUDA_VERBOSE_BUILD OFF 
 DOXYGEN_BUILD DOXYGEN_BUILD-NOTFOUND 
 EIGEN_INCLUDE_PATH /usr/include/eigen3 
 ENABLE_COVERAGE OFF 
 ENABLE_IMPL_COLLECTION OFF 
 ENABLE_NEON OFF 
 ENABLE_NOISY_WARNINGS OFF 
 ENABLE_OMIT_FRAME_POINTER ON 
 ENABLE_PRECOMPILED_HEADERS ON 
 ENABLE_PROFILING OFF 
 ENABLE_SOLUTION_FOLDERS OFF 
 ENABLE_VFPV3 OFF 
 EXECUTABLE_OUTPUT_PATH /home/pi/builds/opencv/release/bin 
 GIGEAPI_INCLUDE_PATH GIGEAPI_INCLUDE_PATH-NOTFOUND 
 GIGEAPI_LIBRARIES GIGEAPI_LIBRARIES-NOTFOUND 
 INSTALL_CREATE_DISTRIB OFF 
 INSTALL_C_EXAMPLES OFF 
 INSTALL_PYTHON_EXAMPLES OFF 
 INSTALL_TESTS OFF 
 INSTALL_TO_MANGLED_PATHS OFF 
 OPENCV_CONFIG_FILE_INCLUDE_DIR /home/pi/builds/opencv/release 
 OPENCV_EXTRA_MODULES_PATH 
 OPENCV_WARNINGS_ARE_ERRORS OFF 
 OPENEXR_INCLUDE_PATH /usr/include/OpenEXR 
 PLANTUML PLANTUML-NOTFOUND 
 PVAPI_INCLUDE_PATH PVAPI_INCLUDE_PATH-NOTFOUND 
 PYTHON2_EXECUTABLE /usr/bin/python2.7 
 PYTHON2_INCLUDE_DIR 
 PYTHON2_INCLUDE_DIR2 
 PYTHON2_LIBRARY 
 PYTHON2_LIBRARY_DEBUG 
 PYTHON2_NUMPY_INCLUDE_DIRS /usr/lib/pymodules/python2.7/numpy/core/include 
 PYTHON2_PACKAGES_PATH lib/python2.7/dist-packages 
 PYTHON3_EXECUTABLE /usr/bin/python3 
 PYTHON3_INCLUDE_DIR 
 PYTHON3_INCLUDE_DIR2 
 PYTHON3_LIBRARY 
 PYTHON3_LIBRARY_DEBUG 
 PYTHON3_NUMPY_INCLUDE_DIRS /usr/lib/python3/dist-packages/numpy/core/include 
 PYTHON3_PACKAGES_PATH lib/python3.2/dist-packages 
 SPHINX_BUILD SPHINX_BUILD-NOTFOUND 
 VTK_DIR VTK_DIR-NOTFOUND 
 WEBP_INCLUDE_DIR WEBP_INCLUDE_DIR-NOTFOUND 
 WITH_1394 ON 
 WITH_CLP OFF 
 WITH_CUBLAS OFF 
 WITH_CUDA ON 
 WITH_CUFFT ON 
 WITH_EIGEN ON 
 WITH_FFMPEG ON 
 WITH_GDAL OFF 
 WITH_GIGEAPI ON 
 WITH_GSTREAMER ON 
 WITH_GSTREAMER_0_10 OFF 
 WITH_GTK ON 
 WITH_GTK_2_X OFF 
 WITH_JASPER ON 
 WITH_JPEG ON 
 WITH_LIBV4L ON 
 WITH_NVCUVID OFF 
 WITH_OPENCL ON 
 WITH_OPENCLAMDBLAS ON 
 WITH_OPENCLAMDFFT ON 
 WITH_OPENEXR ON 
 WITH_OPENGL ON 
 WITH_OPENMP OFF 
 WITH_OPENNI OFF 
 WITH_OPENNI2 OFF 
 WITH_PNG ON 
 WITH_PVAPI ON 
 WITH_QT OFF 
 WITH_TBB OFF 
 WITH_TIFF ON 
 WITH_UNICAP OFF 
 WITH_V4L ON 
 WITH_VTK ON 
 WITH_WEBP ON 
 WITH_XIMEA OFF 
 WITH_XINE OFF 
answered Feb 7, 2015 at 11:12
2
  • Can you share the cv2.so I couldn't install opencv and I don't know why Commented Feb 23, 2015 at 14:37
  • Unfortunately I've uninstalled version 3. I wanted to use it together with GStreamer, but GStreamer does not yet support v3. Sorry :\ Commented Feb 24, 2015 at 21:22
10

When compiling according to Miguel's answer, do it with a

 >> make -j4

On the raspberry pi 2-B / B-2 model this may speed up the compilation significantly as use of all cores is made.

NOTE: If you get an error while compiling with this option, just use

make

to fix it.

answered Apr 6, 2015 at 13:06

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.