- Keep your system up to date:
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot
- Make sure you've got an internet connection.
- Make sure you've got
- wget
- unzip
Run the script install-opencv.sh
#!/usr/bin/env bash | |
OPENCV_VERSION="3.1.0" | |
OPENCV_URL="https://github.com/Itseez/opencv/archive/${OPENCV_VERSION}.zip" | |
OPENCV_PACKAGE_NAME="opencv-${OPENCV_VERSION}" | |
OPENCV_CONTRIB_URL="https://github.com/Itseez/opencv_contrib/archive/${OPENCV_VERSION}.zip" | |
OPENCV_CONTRIB_PACKAGE_NAME="opencv_contrib-${OPENCV_VERSION}" | |
PREFIX="${PREFIX:-/usr/local}" | |
MAKEFLAGS="${MAKEFLAGS:--j 4}" | |
install_build_dependencies() { | |
local build_packages="build-essential git cmake pkg-config" | |
local image_io_packages="libjpeg-dev libtiff5-dev libjasper-dev \ | |
libpng12-dev" | |
local video_io_packages="libavcodec-dev libavformat-dev \ | |
libswscale-dev libv4l-dev \ | |
libxvidcore-dev libx264-dev" | |
local gtk_packages="libgtk2.0-dev" | |
local matrix_packages="libatlas-base-dev gfortran" | |
local python_dev_packages="python2.7-dev python3-dev python-pip python3-pip" | |
sudo apt-get install -y $build_packages $image_io_packages $gtk_packages \ | |
$video_io_packages $matrix_packages $python_dev_packages | |
} | |
install_global_python_dependencies() { | |
sudo pip install virtualenv virtualenvwrapper | |
} | |
install_local_python_dependences() { | |
pip install numpy | |
} | |
download_packages() { | |
wget -c -O "${OPENCV_PACKAGE_NAME}.zip" "$OPENCV_URL" | |
wget -c -O "${OPENCV_CONTRIB_PACKAGE_NAME}.zip" "$OPENCV_CONTRIB_URL" | |
} | |
unpack_packages() { | |
# unzip args: | |
# -q = quiet | |
# -n = never overwrite existing files | |
unzip -q -n "${OPENCV_PACKAGE_NAME}.zip" | |
unzip -q -n "${OPENCV_CONTRIB_PACKAGE_NAME}.zip" | |
} | |
setup_virtualenv() { | |
export WORKON_HOME="$HOME/.virtualenvs" | |
source /usr/local/bin/virtualenvwrapper.sh | |
mkvirtualenv -p python3 cv | |
workon cv | |
install_local_python_dependences | |
} | |
build() { | |
cmake -D CMAKE_BUILD_TYPE=RELEASE \ | |
-D CMAKE_INSTALL_PREFIX="$PREFIX" \ | |
-D INSTALL_C_EXMAPLES=ON \ | |
-D INSTALL_PYTHON_EXAMPLES=ON \ | |
-D OPENCV_EXTRA_MODULES_PATH="$HOME/$OPENCV_CONTRIB_PACKAGE_NAME/modules" \ | |
-D BUILD_EXAMPLES=ON \ | |
.. | |
make ${MAKEFLAGS} | |
} | |
install() { | |
sudo make install | |
sudo ldconfig | |
} | |
log() { | |
local msg="$1"; shift | |
local _color_bold_yellow='\e[1;33m' | |
local _color_reset='\e[0m' | |
echo -e "\[${_color_bold_yellow}\]${msg}\[${_color_reset}\]" | |
} | |
main() { | |
log "Installing build dependencies..." | |
install_build_dependencies | |
log "Downloading OpenCV packages..." | |
download_packages | |
log "Unpacking OpenCV packages..." | |
unpack_packages | |
log "Installing global python deps..." | |
install_global_python_dependencies | |
log "Setting up local python environment..." | |
setup_virtualenv | |
log "Building OpenCV..." | |
cd "$OPENCV_PACKAGE_NAME" | |
mkdir build | |
cd build | |
build | |
echo "Installing OpenCV..." | |
install | |
} | |
main |
pls help us!!!! its urgent
i try install opencv 3 based on steps provided in pyimagesearch.com
but i get error as stated above
I get this error
[ 49%] Built target opencv_imgcodecs
[ 49%] Linking CXX shared library ../../lib/libopencv_videoio.so
/usr/bin/ld: /usr/local/lib/libx264.a(common.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libx264.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:254: recipe for target 'lib/libopencv_videoio.so.3.2.0' failed
make[2]: *** [lib/libopencv_videoio.so.3.2.0] Error 1
CMakeFiles/Makefile2:5596: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed
make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Installing OpenCV...
[ 3%] Built target libwebp
[ 8%] Built target IlmImf
[ 11%] Built target carotene_objs
[ 12%] Built target tegra_hal
[ 12%] Built target opencv_core_pch_dephelp
[ 13%] Built target pch_Generate_opencv_core
[ 16%] Built target opencv_core
[ 17%] Built target opencv_ts_pch_dephelp
[ 17%] Built target pch_Generate_opencv_ts
[ 17%] Built target opencv_imgproc_pch_dephelp
[ 17%] Built target pch_Generate_opencv_imgproc
[ 21%] Built target opencv_imgproc
[ 21%] Built target opencv_imgcodecs_pch_dephelp
[ 21%] Built target pch_Generate_opencv_imgcodecs
[ 22%] Built target opencv_imgcodecs
[ 22%] Built target opencv_videoio_pch_dephelp
[ 22%] Built target pch_Generate_opencv_videoio
[ 22%] Linking CXX shared library ../../lib/libopencv_videoio.so
/usr/bin/ld: /usr/local/lib/libx264.a(common.o): relocation R_ARM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libx264.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:254: recipe for target 'lib/libopencv_videoio.so.3.2.0' failed
make[2]: *** [lib/libopencv_videoio.so.3.2.0] Error 1
CMakeFiles/Makefile2:5596: recipe for target 'modules/videoio/CMakeFiles/opencv_videoio.dir/all' failed
make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Guys - If you got stuck here - follow these steps: https://imaginghub.com/projects/144-installing-opencv-3-on-raspberry-pi-3/documentation
Pay careful attention to this path: OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules
Make sure it points to where yours is.
Best,
Darshi
Nice script. It installed opencv for me without any error. Thanks
Urr...
How do I get into the environment where CV is loaded ?
'workon cv' din't work...
import cv2
ImportError: No module named 'cv2'