Skip to main content
finish sentence with Python3
Source Link
emonigma
  • 273
  • 2
  • 12

Following these directions from PyImageSearch fixes the problem. Those directions lack an easy copy-paste and have a lot of interspersed text, so I copy them here. I assume you already have Python3 and pip3 installed.

Following these directions from PyImageSearch fixes the problem. I assume you already have

Following these directions from PyImageSearch fixes the problem. Those directions lack an easy copy-paste and have a lot of interspersed text, so I copy them here. I assume you already have Python3 and pip3 installed.

Source Link
emonigma
  • 273
  • 2
  • 12

Following these directions from PyImageSearch fixes the problem. I assume you already have

sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install build-essential cmake unzip pkg-config
sudo apt-get -y install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get -y install libxvidcore-dev libx264-dev
sudo apt-get -y install libgtk-3-dev
sudo apt-get -y install libcanberra-gtk*
sudo apt-get -y install libatlas-base-dev gfortran
sudo apt-get -y install python3-dev

cd ~
sudo rm -r -f opencv
git clone https://github.com/opencv/opencv.git
sudo rm -r -f opencv_contrib
git clone https://github.com/Itseez/opencv_contrib.git

pip3 install numpy
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..

make -j4
sudo make install
sudo ldconfig

Stuck at 99%?

You may get this error:

...
[ 99%] Built target gen_opencv_python_source
[ 99%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-6/README.Bugs> for instructions.
modules/python2/CMakeFiles/opencv_python2.dir/build.make:62: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o' failed
make[2]: *** [modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o] Error 4
CMakeFiles/Makefile2:11656: recipe for target 'modules/python2/CMakeFiles/opencv_python2.dir/all' failed
make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

You need to increase your swap size, as mentioned in the original directions. Open /etc/dphys-swapfile:

sudo nano /etc/dphys-swapfile

and edit the CONF_SWAPSIZE variable:

# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
# CONF_SWAPSIZE=100
CONF_SWAPSIZE=2048

It worked for me without further problems:

>>> import cv2
>>>