출처 : BPI-M2 Ultra use OpenCV and face recognition - Banana Pi BPI-M2 Ultra / BPI-M2 Berry
Compile and Run OpenCV2 on Banana Pi - Banana Pi BPI-M2 - banana pi single board computer official forum SinoVoip BPI team
Raspberry Pi 3에 opencv_contrib 포함하여 OpenCV 3.2 설치 - 멈춤보단 천천히라도
Install guide: Raspberry Pi 3 + Raspbian Jessie + OpenCV 3
OpenCV 설치 - MechaWiki
Use bpi-update command to update kernel image
Update bpi-tools
Cloning into 'bpi-tools'...
remote: Counting objects: 89, done.
remote: Total 89 (delta 0), reused 0 (delta 0), pack-reused 89
Unpacking objects: 100% (89/89), done.
Checking connectivity... done.
F_UPDATE=yes
F_UPGRADE=yes
BPIFILE=/home/pi/.bpi-tools.lst
Wait for download index file ...
OK!!\n
BPIFILE=/home/pi/.bpi-tools.lst
Wait for download index file ...
OK!!\n
bpi files:
bpi-tools v1.2.0(github)
bpi-bootsel v1.0.6a
bpi-copy v1.0.11a
bpi-get v1.0.3(github)
bpi-migrate v1.3.2a(github)
bpi-hw v1.2.8
bpi-update v1.3.2a
download bpi files:
bpi-tools
bpi-tools: v1.2.1(github)
bpi-bootsel
bpi-bootsel: v1.2.1(github)
bpi-copy
bpi-copy: v1.2.1(github)
bpi-get
bpi-get: v1.0.3(github)
bpi-migrate
bpi-migrate: v1.3.5(github)
bpi-hw
bpi-hw: v1.2.8
bpi-update
bpi-update: v1.3.4(github)
upgrade bpi files:
/usr/bin/bpi-tools
/usr/bin/bpi-bootsel
/usr/bin/bpi-copy
/usr/bin/bpi-get
/usr/bin/bpi-migrate
/usr/bin/bpi-hw
/usr/bin/bpi-update
bpi files:
/usr/bin/bpi-tools v1.2.1(github)
/usr/bin/bpi-bootsel v1.2.1(github)
/usr/bin/bpi-copy v1.2.1(github)
/usr/bin/bpi-get v1.0.3(github)
/usr/bin/bpi-migrate v1.3.5(github)
/usr/bin/bpi-hw v1.2.8
/usr/bin/bpi-update v1.3.4(github)
Check bpi-tools version
F_VERSION=yes
bpi files:
/usr/bin/bpi-tools v1.2.1(github)
/usr/bin/bpi-bootsel v1.2.1(github)
/usr/bin/bpi-copy v1.2.1(github)
/usr/bin/bpi-get v1.0.3(github)
/usr/bin/bpi-migrate v1.3.5(github)
/usr/bin/bpi-hw v1.2.8
/usr/bin/bpi-update v1.3.4(github)
Use bpi-update to update kerenl
CONFFILE=bpi-m2u.conf
Wait for download bpi-m2u.conf ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/others/for-bpi-tools/conf/board/bpi-m2u.conf
OK!!\n
BPIFILE=/home/pi/.bpi-update.lst
Wait for download index file ...
OK!!\n
INFO: /dev/mmcblk0 : SD/eMMC !!
umount device: /dev/mmcblk0
umount /dev/mmcblk0p1
#####################
update /dev/mmcblk0p1(vfat) with BPI-BOOT-bpi-m2u.tgz
#####################
Wait for download BPI-BOOT-bpi-m2u.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-BOOT/BPI-BOOT-bpi-m2u.tgz
OK!!\n
tar xf BPI-BOOT-bpi-m2u.tgz --keep-directory-symlink -C /mnt
total 28
drwxr-xr-x 4 root root 16384 Aug 24 08:04 .
drwxr-xr-x 22 root root 4096 Sep 13 10:24 ..
drwxr-xr-x 3 root root 4096 Aug 24 08:04 bananapi
drwxr-xr-x 2 root root 4096 Sep 13 04:35 System Volume Information
#####################
update /dev/mmcblk0p2(root) with bpi-tools.tgz BOOTLOADER-bpi-m2u.tgz 3.10.107-BPI-M2U-Kernel.tgz libvdpau_sunxi.tgz bpi-service.tgz addons.tgz bt.tgz camera.tgz camera-apps.tgz brcm.tgz
#####################
Wait for download bpi-tools.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/bpi-tools.tgz
OK!!\n
tar xf bpi-tools.tgz --keep-directory-symlink -C /
Wait for download BOOTLOADER-bpi-m2u.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/BOOTLOADER-bpi-m2u.tgz
OK!!\n
tar xf BOOTLOADER-bpi-m2u.tgz --keep-directory-symlink -C /
Wait for download 3.10.107-BPI-M2U-Kernel.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/3.10.107-BPI-M2U-Kernel.tgz
OK!!\n
tar xf 3.10.107-BPI-M2U-Kernel.tgz --keep-directory-symlink -C /
Wait for download libvdpau_sunxi.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/libvdpau_sunxi.tgz
OK!!\n
tar xf libvdpau_sunxi.tgz --keep-directory-symlink -C /
Wait for download bpi-service.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/bpi-service.tgz
OK!!\n
tar xf bpi-service.tgz --keep-directory-symlink -C /
Wait for download addons.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/addons.tgz
OK!!\n
tar xf addons.tgz --keep-directory-symlink -C /
Wait for download bt.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/bt.tgz
OK!!\n
tar xf bt.tgz --keep-directory-symlink -C /
Wait for download camera.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/camera.tgz
OK!!\n
tar xf camera.tgz --keep-directory-symlink -C /
Wait for download camera-apps.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/camera-apps.tgz
OK!!\n
tar xf camera-apps.tgz --keep-directory-symlink -C /
Wait for download brcm.tgz ...
https://github.com/BPI-SINOVOIP/BPI-files/raw/master/SD/BPI-ROOT/brcm.tgz
OK!!\n
tar xf brcm.tgz --keep-directory-symlink -C /
total 92
drwxr-xr-x 22 root root 4096 Nov 8 2016 .
drwxr-xr-x 22 root root 4096 Nov 8 2016 ..
drwxr-xr-x 2 root root 4096 Nov 21 2016 bin
drwxr-xr-x 2 root root 4096 Apr 22 2016 boot
drwxr-xr-x 14 root root 4600 Sep 13 10:22 dev
drwxr-xr-x 150 root root 12288 Nov 22 2016 etc
drwxr-xr-x 3 root root 4096 Jul 13 2016 home
drwxr-xr-x 22 root root 4096 Nov 27 2015 lib
drwx------ 2 root root 16384 Apr 22 2016 lost+found
drwxr-xr-x 3 root root 4096 Jul 21 2016 media
drwxr-xr-x 2 root root 4096 Apr 21 2016 mnt
drwxr-xr-x 3 root root 4096 Jul 20 2016 opt
dr-xr-xr-x 195 root root 0 Jan 1 1970 proc
drwx------ 8 root root 4096 Aug 23 15:50 root
drwxr-xr-x 27 root root 880 Sep 13 10:24 run
drwxr-xr-x 2 root root 4096 Aug 1 10:54 sbin
drwxr-xr-x 2 root root 4096 Apr 21 2016 srv
dr-xr-xr-x 12 root root 0 Sep 13 10:21 sys
drwxr-xr-x 4 root root 4096 Nov 27 2015 system
drwxrwxrwt 10 root root 4096 Sep 13 15:47 tmp
drwxr-xr-x 12 root root 4096 Dec 21 2016 usr
drwxr-xr-x 13 root root 4096 Jul 4 2016 var
INFO: online system: skip umount /
기존에 설치된 OpenCV 제거
OpenCV 설치 여부 확인 - 설치가 안 된경우
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
OpenCV 설치 여부 확인 - 설치 되어 있는 경우
2.4.9.1
설치되어 있는 OpenCV 삭제
OS 업그레이드
개발 도구와 관련 패키지 설치
이미지(JPEG, PNG, TIFF, 기타 등등...) 처리 관련 패키지 설치
비디오 처리 관련 패키지 설치
Video4Linux 패키지 설치
GTK 패키지 설치
OpenCV 관련 패키지 설치
Python 설치
NumPy 설치
출처 : 예제로 배우는 파이썬 프로그래밍 - numpy 사용하기
OpenCV 소스 다운로드 및 압축해제
OpenCV Extra Modules 소스 다운로드 및 압축해제
cmake
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_ZLIB=ON \
-D BUILD_PNG=ON \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D ENABLE_NEON=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
../
--
-- General configuration for OpenCV 3.2.0 =====================================
-- Version control: unknown
--
-- Extra modules:
-- Location (extra): /home/pi/opencv_contrib-3.2.0/modules
-- Version control (extra): unknown
--
-- Platform:
-- Timestamp: 2017-09-12T15:12:16Z
-- Host: Linux 3.10.107-BPI-M2U-Kernel armv7l
-- CMake: 3.5.1
-- CMake generator: Unix Makefiles
-- CMake build tool: /usr/bin/make
-- Configuration: RELEASE
--
-- C/C++:
-- Built as dynamic libs?: YES
-- C++ Compiler: /usr/bin/c++ (ver 5.4.0)
-- C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
-- C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
-- C Compiler: /usr/bin/cc
-- C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -ffunction-sections -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
-- C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -pthread -fomit-frame-pointer -mfp16-format=ieee -mfpu=neon -ffunction-sections -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
-- Linker flags (Release):
-- Linker flags (Debug):
-- ccache: NO
-- Precompiled headers: YES
-- Extra dependencies: /usr/lib/arm-linux-gnueabihf/libtiff.so /usr/lib/arm-linux-gnueabihf/libjasper.so /usr/lib/arm-linux-gnueabihf/libjpeg.so gtk-3 gdk-3 pangocairo-1.0 pango-1.0 atk-1.0 cairo-gobject cairo gdk_pixbuf-2.0 gio-2.0 gobject-2.0 glib-2.0 gthread-2.0 avcodec-ffmpeg avformat-ffmpeg avutil-ffmpeg swscale-ffmpeg dl m pthread rt
-- 3rdparty dependencies: zlib libwebp libpng IlmImf libprotobuf tegra_hal
--
-- OpenCV modules:
-- To be built: core flann imgproc ml photo reg surface_matching video dnn freetype fuzzy imgcodecs shape videoio highgui objdetect plot superres xobjdetect xphoto bgsegm bioinspired dpm face features2d line_descriptor saliency text calib3d ccalib datasets rgbd stereo tracking videostab xfeatures2d ximgproc aruco optflow phase_unwrapping stitching structured_light python2 python3
-- Disabled: world contrib_world
-- Disabled by dependency: -
-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java ts viz cnn_3dobj cvv hdf matlab sfm
--
-- GUI:
-- QT: NO
-- GTK+ 3.x: YES (ver 3.18.9)
-- GThread : YES (ver 2.48.2)
-- GtkGlExt: NO
-- OpenGL support: NO
-- VTK support: NO
--
-- Media I/O:
-- ZLib: build (ver 1.2.8)
-- JPEG: /usr/lib/arm-linux-gnueabihf/libjpeg.so (ver )
-- WEBP: build (ver 0.3.1)
-- PNG: build (ver 1.6.24)
-- TIFF: /usr/lib/arm-linux-gnueabihf/libtiff.so (ver 42 - 4.0.6)
-- JPEG 2000: /usr/lib/arm-linux-gnueabihf/libjasper.so (ver 1.900.1)
-- OpenEXR: build (ver 1.7.1)
-- GDAL: NO
-- GDCM: NO
--
-- Video I/O:
-- DC1394 1.x: NO
-- DC1394 2.x: NO
-- FFMPEG: YES
-- avcodec: YES (ver 56.60.100)
-- avformat: YES (ver 56.40.101)
-- avutil: YES (ver 54.31.100)
-- swscale: YES (ver 3.1.101)
-- avresample: NO
-- GStreamer: NO
-- OpenNI: NO
-- OpenNI PrimeSensor Modules: NO
-- OpenNI2: NO
-- PvAPI: NO
-- GigEVisionSDK: NO
-- Aravis SDK: NO
-- UniCap: NO
-- UniCap ucil: NO
-- V4L/V4L2: NO/YES
-- XIMEA: NO
-- Xine: NO
-- gPhoto2: NO
--
-- Parallel framework: pthreads
--
-- Other third-party libraries:
-- Use IPP: NO
-- Use VA: NO
-- Use Intel VA-API/OpenCL: NO
-- Use Lapack: NO
-- Use Eigen: YES (ver 3.2.92)
-- Use Cuda: NO
-- Use OpenCL: YES
-- Use OpenVX: NO
-- Use custom HAL: YES (carotene (ver 0.0.1))
--
-- OpenCL: <Dynamic loading of OpenCL library>
-- Include path: /home/pi/opencv-3.2.0/3rdparty/include/opencl/1.2
-- Use AMDFFT: NO
-- Use AMDBLAS: NO
--
-- Python 2:
-- Interpreter: /usr/bin/python2.7 (ver 2.7.12)
-- Libraries: /usr/lib/arm-linux-gnueabihf/libpython2.7.so (ver 2.7.12)
-- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.11.0)
-- packages path: lib/python2.7/dist-packages
--
-- Python 3:
-- Interpreter: /usr/bin/python3 (ver 3.5.2)
-- Libraries: /usr/lib/arm-linux-gnueabihf/libpython3.5m.so (ver 3.5.2)
-- numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.11.0)
-- packages path: lib/python3.5/dist-packages
--
-- Python (for build): /usr/bin/python2.7
--
-- Java:
-- ant: NO
-- JNI: NO
-- Java wrappers: NO
-- Java tests: NO
--
-- Matlab: Matlab not found or implicitly disabled
--
-- Tests and samples:
-- Tests: NO
-- Performance tests: NO
-- C/C++ Examples: NO
--
-- Install path: /usr/local
--
-- cvconfig.h is in: /home/pi/opencv-3.2.0/build
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv-3.2.0/build
빌드 (BPI-M2 Berry 에는 4 개의 코어가 있으므로 OpenCV를 더 빠르게 컴파일 할 수 있도록 -j4 옵션추가)
4
OpenCV 설치
/etc/ld.so.conf.d/ 디렉토리에 /usr/local/lib를 포함하는 설정파일이 있는지 확인
#/opt/vc/lib
/usr/lib/mali
# Multiarch support
/lib/arm-linux-gnueabihf
/usr/lib/arm-linux-gnueabihf
/usr/lib/arm-linux-gnueabihf/mesa-egl
/usr/lib/arm-linux-gnueabihf/mesa
# libc default configuration
/usr/local/lib
/opt/vc/lib
OpenCV 설치
OpenCV 설치 확인 - 1
3.2.0
OpenCV 설치 확인 - 2
-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dpm -lopencv_freetype -lopencv_fuzzy -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_rgbd -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face -lopencv_plot -lopencv_dnn -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core
용량 확보를 위해서 다운로드 받은 소스 파일 삭제
python3에서 OpenCV 버전확인
Python 3.4.2 (default, Oct 19 2014, 13:31:11)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
python3에서 얼굴인식 예제 실행 (Camera 인식 실패로 Camera 직접 제어는 포기)
face detection using haar cascades
USAGE:
facedetect.py [--cascade <cascade_fn>] [--nested-cascade <cascade_fn>] [<video_source>]
Warning: unable to open video source: /dev/video0
Warning: unable to open video source: synth
Traceback (most recent call last):
File "/usr/local/share/OpenCV/samples/python/facedetect.py", line 52, in <module>
ret, img = cam.read()
AttributeError: 'NoneType' object has no attribute 'read'
python3에서 얼굴인식 예제 작성 (mjpg-streamer에서 Camera 영상을 받아 오도록 수정)
#!/usr/bin/env python ''' face detection using haar cascades USAGE: facedetect.py [--cascade <cascade_fn>] [--nested-cascade <cascade_fn>] [<video_source>] ''' # Python 2/3 compatibility from __future__ import print_function import numpy as np import cv2 import requests # local modules # from video import create_capture from common import clock, draw_str BYTES_NONE = b''; def detect(img, cascade): rects = cascade.detectMultiScale(img, scaleFactor=1.3, minNeighbors=4, minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE) if len(rects) == 0: return [] rects[:,2:] += rects[:,:2] return rects def draw_rects(img, rects, color): for x1, y1, x2, y2 in rects: cv2.rectangle(img, (x1, y1), (x2, y2), color, 2) if __name__ == '__main__': import sys, getopt print(__doc__) args, video_src = getopt.getopt(sys.argv[1:], '', ['cascade=', 'nested-cascade=']) try: video_src = video_src[0] except: video_src = 0 args = dict(args) cascade_fn = args.get('--cascade', "../../data/haarcascades/haarcascade_frontalface_alt.xml") nested_fn = args.get('--nested-cascade', "../../data/haarcascades/haarcascade_eye.xml") cascade = cv2.CascadeClassifier(cascade_fn) nested = cv2.CascadeClassifier(nested_fn) #cam = create_capture(video_src, fallback='synth:bg=../data/lena.jpg:noise=0.05') while True: r = requests.get('http://127.0.0.1:8080/?action=snapshot"', auth=('user', 'password'), stream=True) if (r.status_code == 200): bytes = BYTES_NONE for chunk in r.iter_content(chunk_size=1024): bytes += chunk a = bytes.find(b'\xff\xd8') b = bytes.find(b'\xff\xd9') if a != -1 and b != -1: jpg = bytes[a:b + 2] bytes = bytes[b + 2:] # ret, img = cam.read() # ret, \ img = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8), cv2.IMREAD_COLOR) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) gray = cv2.equalizeHist(gray) t = clock() rects = detect(gray, cascade) vis = img.copy() draw_rects(vis, rects, (0, 255, 0)) if not nested.empty(): for x1, y1, x2, y2 in rects: roi = gray[y1:y2, x1:x2] vis_roi = vis[y1:y2, x1:x2] subrects = detect(roi.copy(), nested) draw_rects(vis_roi, subrects, (255, 0, 0)) dt = clock() - t draw_str(vis, (20, 20), 'time: %.1f ms' % (dt*1000)) cv2.imshow('facedetect', vis) if cv2.waitKey(5) == 27: break cv2.destroyAllWindows()
python3에서 얼굴인식 예제 실행
얼굴인식 예제 컴파일, 실행 (컴파일 실패로 CPP 예제는 포기)
/usr/bin/ld: /tmp/ccWuwUjB.o: undefined reference to symbol 'fopen@@GLIBC_2.4'
//lib/arm-linux-gnueabihf/libc.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
cmake 다른 옵션
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_SHARED_LIBS=OFF \
-D BUILD_ZLIB=ON \
-D BUILD_PNG=ON \
-D WITH_TBB=OFF \
-D WITH_IPP=OFF \
-D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF \
-D BUILD_DOCS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D ENABLE_NEON=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
../