◼︎ 작업환경
- Model : MacBook Pro (16-inch, 2019)
- CPU : 2.3 GHz 8코어 Intel Core i9
- GPU : AMD Radeon Pro 5500M 4 GB
- MENORY : 16GB
- DISK : 1TB SSD
- OS : macOS Monterey 12.2.1
◼︎ 기기
- DEVICE : Raspberry Pi 4 (4G RAM)
- DISK : 128GB SD Card
- 모니터 암에 고정하여 사용
1.자바 설치하기
자바 환경에서 실해아는 것이 목적이기 때문에 먼저 최신 자바를 설치한다. (작업 당시에 자바버전은 11.013 이었다.)
sudo apt update sudo apt install default-jdk
2. OpenCV 설치
먼저 컴파일을 위한 소프트웨어 패키지들을 설치한다. CentOS와는 차이가 있었다.
sudo apt install cmake build-essential
다음 패키지들은 반듯이 설치가 필요한 것은 아니다.
sudo apt-get install pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev
sudo apt-get install ffmpeg libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev
sudo apt-get install libv4l-dev v4l-utils
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
원하는 버전의 OpenCV 소스 파일을 다운로드 한다. 다운로드는 /home/pi 경로을 사용했다.
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip
unzip opencv.zip unzip opencv_contrib.zip mkdir build cd build
이제 cmake 명령을 실행하여 컴파일을 위한 설정을 수행한다.
컴파일을 위한 설정 과정에서 JAVA 을 인식하지 못하는 문제가 발생되었다. 이부분을 해결하는 과정에 어려움이 있었는데 아래와 같이계정 프로파일에 매뉴얼하게 경로를 지정해주는 방법으로 해결했다.
이미 최신 자바 버전이 설치되었지만 호환성을 고려하여 JDK 1.8 과 ant 를 설치한다. 이는 cmake 실행 옵션에 자바 버전을 명시한 경우에 맥 환경에서는 동작하였지만 CentOS 환경에서는 효과가 없어 이번에도 컴파일시에는 1.8 자바를 사용하고 이후에 높은 버전의 자바로 변경하여 사용하였다.
sudo apt install ant openjdk-8-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64 export JRE_HOME=/usr/lib/jvm/java-8-openjdk-arm64/jre export ANT_HOME=/usr/share/ant export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
다시 cmake를 실행한다. 이때 사용한 옵션은 아래와 같다.
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D BUILD_opencv_ximgproc=ON \ -D BUILD_SHARED_LIBS=OFF \ -D OPENCV_JAVA_TARGET_VERSION=1.8 \ -D BUILD_EXAMPLES=ON ../opencv-4.5.5처음과는 다르게 JAVA 항목이 인식됨을 확인할 수 있다.
댓글 없음:
댓글 쓰기