티스토리 뷰
728x90
출처
- NVIDIA Jetson Nanoで最新版の OpenCV 4.1.0を全自動でビルドしてインストールする方法 (NVIDIA Jetson Nanoに最新版の OpenCV 4.1.0を全自動でインストールする bashスクリプト)
- OpenCV, CUDA, Python with Jetson Nano - NVIDIA Developer Forums
- Jetson Nano에서 OpenCV 4.1 with CUDA 빌드 – ahnbk.com
- Getting started with the NVIDIA Jetson Nano - PyImageSearch
- Is there any demos available for python jetson inference - NVIDIA Developer Forums
- Official TensorFlow for Jetson Nano !!! - NVIDIA Developer Forums
- Install OpenCV 4 on your Raspberry Pi - PyImageSearch
- [OpenCV 설치] Ubuntu OpenCV 설치, C++ 테스트
- How to find OpenCV version in Python and C++ ? | Learn OpenCV
- 4.0.0 does not produce pkgconfig file · Issue #13154 · opencv/opencv · GitHub
라즈비안(Raspberry pi OS)의 업데이트와 업그레이드
$ sudo apt-get update && sudo apt-get upgrade
현재 설치된 버전 확인
$ pkg-config opencv --modversion 3.3.1 $ python -c "import cv2; print (cv2.__version__)" 3.3.1 $ python3 -c "import cv2; print (cv2.__version__)" 3.3.1
OpenCV 4.1 설치
Jetson Nano에 OpenCV 4.0 버전을 설치하는 스크립트를 다운받아서 OpenCV 4.1으로 변경해서 설치 스크립트를 만들고 실행만 하면 간단하게 OpenCV 4.1이 설치가 됩니다.
$ wget https://raw.githubusercontent.com/AastaNV/JEP/master/script/install_opencv4.0.0_Nano.sh $ cp install_opencv4.0.0_Nano.sh install_opencv4.1.0_Nano.sh $ sed -i 's/4.0.0/4.1.0/g' install_opencv4.1.0_Nano.sh $ mkdir opencv410 $ chmod 755 install_opencv4.1.0_Nano.sh $ sudo ./install_opencv4.1.0_Nano.sh opencv410
cmake 옵션 (OPENCV_GENERATE_PKGCONFIG 옵션 추가)
cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" -D CUDA_ARCH_PTX="" -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.0/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON ..
cmake 실행 결과 : 설치 스크립트 실행 중간 과정
-- General configuration for OpenCV 4.1.0 ===================================== -- Version control: unknown -- -- Extra modules: -- Location (extra): /home/bluesanta/opencv410/opencv_contrib-4.1.0/modules -- Version control (extra): unknown -- -- Platform: -- Timestamp: 2019-08-04T15:08:51Z -- Host: Linux 4.9.140-tegra aarch64 -- CMake: 3.10.2 -- CMake generator: Unix Makefiles -- CMake build tool: /usr/bin/make -- Configuration: RELEASE -- -- CPU/HW features: -- Baseline: NEON FP16 -- required: NEON -- disabled: VFPV3 -- -- C/C++: -- Built as dynamic libs?: YES -- C++ Compiler: /usr/bin/c++ (ver 7.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 -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-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 -Wuninitialized -Winit-self -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-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 -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-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 -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG -- Linker flags (Release): -Wl,--gc-sections -- Linker flags (Debug): -Wl,--gc-sections -- ccache: NO -- Precompiled headers: YES -- Extra dependencies: m pthread cudart_static -lpthread dl rt nppc nppial nppicc nppicom nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cufft -L/usr/local/cuda/lib64 -L/usr/lib/aarch64-linux-gnu -- 3rdparty dependencies: -- -- OpenCV modules: -- To be built: aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetect dpm face features2d flann freetype fuzzy gapi hdf hfs highgui img_hash imgcodecs imgproc line_descriptor ml objdetect optflow phase_unwrapping photo plot python2 python3 quality reg rgbd saliency sfm shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto -- Disabled: world -- Disabled by dependency: - -- Unavailable: cnn_3dobj cvv java js matlab ovis ts viz -- Applications: apps -- Documentation: NO -- Non-free algorithms: NO -- -- GUI: -- GTK+: YES (ver 3.22.30) -- GThread : YES (ver 2.56.4) -- GtkGlExt: NO -- VTK support: NO -- -- Media I/O: -- ZLib: /usr/lib/aarch64-linux-gnu/libz.so (ver 1.2.11) -- JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so (ver 80) -- WEBP: build (ver encoder: 0x020e) -- PNG: /usr/lib/aarch64-linux-gnu/libpng.so (ver 1.6.34) -- TIFF: /usr/lib/aarch64-linux-gnu/libtiff.so (ver 42 / 4.0.9) -- JPEG 2000: build (ver 1.900.1) -- OpenEXR: build (ver 1.7.1) -- HDR: YES -- SUNRASTER: YES -- PXM: YES -- PFM: YES -- -- Video I/O: -- DC1394: NO -- FFMPEG: YES -- avcodec: YES (57.107.100) -- avformat: YES (57.83.100) -- avutil: YES (55.78.100) -- swscale: YES (4.8.100) -- avresample: NO -- GStreamer: YES (1.14.4) -- v4l/v4l2: YES (linux/videodev2.h) -- -- Parallel framework: pthreads -- -- Trace: YES (built-in) -- -- Other third-party libraries: -- Lapack: NO -- Eigen: YES (ver 3.3.4) -- Custom HAL: YES (carotene (ver 0.0.1)) -- Protobuf: build (3.5.1) -- -- NVIDIA CUDA: YES (ver 10.0, CUFFT CUBLAS) -- NVIDIA GPU arch: 53 -- NVIDIA PTX archs: -- -- OpenCL: YES (no extra features) -- Include path: /home/bluesanta/opencv410/opencv-4.1.0/3rdparty/include/opencl/1.2 -- Link libraries: Dynamic load -- -- Python 2: -- Interpreter: /usr/bin/python2.7 (ver 2.7.15) -- Libraries: /usr/lib/aarch64-linux-gnu/libpython2.7.so (ver 2.7.15+) -- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3) -- install path: lib/python2.7/dist-packages/cv2/python-2.7 -- -- Python 3: -- Interpreter: /usr/bin/python3 (ver 3.6.8) -- Libraries: /usr/lib/aarch64-linux-gnu/libpython3.6m.so (ver 3.6.8) -- numpy: /usr/local/lib/python3.6/dist-packages/numpy/core/include (ver 1.17.0) -- install path: lib/python3.6/dist-packages/cv2/python-3.6 -- -- Python (for build): /usr/bin/python2.7 -- -- Java: -- ant: NO -- JNI: NO -- Java wrappers: NO -- Java tests: NO -- -- Install to: /usr/local -- ----------------------------------------------------------------- -- -- Configuring done -- Generating done -- Build files have been written to: /home/bluesanta/opencv410/opencv-4.1.0/release
OpenCV 4.1 용 Python 3 가상 환경 구성
pip 설치
$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py WARNING: The directory '/home/bluesanta/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. WARNING: The directory '/home/bluesanta/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting pip Downloading https://files.pythonhosted.org/packages/62/ca/94d32a6516ed197a491d17d46595ce58a83cbb2fca280414e57cd86b84dc/pip-19.2.1-py2.py3-none-any.whl (1.4MB) |████████████████████████████████| 1.4MB 150kB/s Collecting setuptools Downloading https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl (575kB) |████████████████████████████████| 583kB 379kB/s Collecting wheel Downloading https://files.pythonhosted.org/packages/bb/10/44230dd6bf3563b8f227dbf344c908d412ad2ff48066476672f3a72e174e/wheel-0.33.4-py2.py3-none-any.whl ERROR: launchpadlib 1.10.6 requires testresources, which is not installed. Installing collected packages: pip, setuptools, wheel Successfully installed pip-19.2.1 setuptools-41.0.1 wheel-0.33.4 $ rm get-pip.py
virtualenv, virtualenvwrapper 설치
$ sudo pip install virtualenv virtualenvwrapper
python3, virtualenv 환경설정
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile $ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile $ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile $ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile $ source ~/.profile
가상환경을 만들기
$ mkvirtualenv cv -p python3 Already using interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /home/pi/.virtualenvs/cv/bin/python3 Also creating executable in /home/pi/.virtualenvs/cv/bin/python Installing setuptools, pip, wheel... done. virtualenvwrapper.user_scripts creating /home/pi/.virtualenvs/cv/bin/predeactivate virtualenvwrapper.user_scripts creating /home/pi/.virtualenvs/cv/bin/postdeactivate virtualenvwrapper.user_scripts creating /home/pi/.virtualenvs/cv/bin/preactivate virtualenvwrapper.user_scripts creating /home/pi/.virtualenvs/cv/bin/postactivate virtualenvwrapper.user_scripts creating /home/pi/.virtualenvs/cv/bin/get_env_details
workon 명령을 사용하여 cv 환경에 있는지 확인
pi@raspberrypi:~$ workon cv
(cv) pi@raspberrypi:~$
numpy 파이썬 패키지 설치(OpenCV관련 수학 함수 모음)
pi@raspberrypi:~$ workon cv (cv) pi@raspberrypi:~$ pip install numpy (cv) pi@raspberrypi:~$ python Python 3.6.8 (default, Jan 14 2019, 11:02:34) [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import numpy >>> quit()
OpenCV 4를 Python 3 가상 환경에 복사
$ cd ~/.virtualenvs/cv/lib/python3.6/site-packages/ $ ln -s /home/bluesanta/opencv410/opencv-4.1.0/release/lib/python3/cv2.cpython-36m-aarch64-linux-gnu.so cv2.so $ cd ~
OpenCV 설치 확인
파이썬
$ workon cv (cv) bluesanta@bluesanta-desktop:~$ python Python 3.6.8 (default, Jan 14 2019, 11:02:34) [GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '4.1.0' >>> exit()
C++
#include "opencv2/opencv.hpp" using namespace cv; using namespace std; int main( int argc, char** argv ) { cout << "OpenCV version : " << CV_VERSION << endl; cout << "Major version : " << CV_MAJOR_VERSION << endl; cout << "Minor version : " << CV_MINOR_VERSION << endl; cout << "Subminor version : " << CV_SUBMINOR_VERSION << endl; }
$ g++ opencv_check_version.cpp -o opencv_check_version `pkg-config --cflags --libs opencv4` $ ./opencv_check_version OpenCV version : 4.1.0 Major version : 4 Minor version : 1 Subminor version : 0
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Spring
- 지스타2007
- ffmpeg
- NDK
- KOBA
- koba2010
- flex
- 레이싱모델 익스트림 포토 페스티벌
- JavaScript
- Delphi
- 튜닝쇼 2008
- SAS
- 동경
- 송주경
- sas2009
- Spring MVC
- Linux
- 일본여행
- 전예희
- android
- Java
- Mac
- Xcode
- oracle
- Delphi Tip
- 서울오토살롱
- ble
- ubuntu
- MySQL
- BPI-M4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함