# 필요한 패키지이지만 필요 없는거 골라내기 어려움.
$ sudo yum install opencv opencv-devel opencv-python
$ sudo yum install epel-release git gcc gcc-c++ cmake3 qt5-qtbase-devel \
python python-devel python-pip cmake python-devel python34-numpy \
gtk2-devel libpng-devel jasper-devel openexr-devel libwebp-devel \
libjpeg-turbo-devel libtiff-devel libdc1394-devel tbb-devel numpy \
eigen3-devel gstreamer-plugins-base-devel freeglut-devel mesa-libGL \
mesa-libGL-devel boost boost-thread boost-devel libv4l-devel
$ sudo yum install ant
# 설치할 폴더를 하나 만듦
$ mkdir opencv
$ cd opencv
# 소스를 직접 compile 하기 때문에 소스 다운
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.4.0.zip
$ unzip opencv.zip
# 빌드할 폴더 생성
$ mkdir build
$ cd build
# cmake 가 없어서 설치
# 기존 cmake 삭제
$ sudo yum remove cmake
$ mkdir cmake
$ cd cmake
$ wget https://github.com/Kitware/CMake/releases/download/v3.20.0-rc2/cmake-3.20.0-rc2-linux-x86_64.sh
$ ./cmake-3.20.0-rc2-linux-x86_64.sh
# cd build 할 위치 -> cmake 설치한 걸로 cmake
$ /home/ec2-user/cmake/cmake-3.20.0-rc2-linux-x86_64/bin/cmake -D BUILD_SHARED_LIBS=OFF ..
위와 같이 to be built 목록에 java가 들어가 있어야함.
해당 부분이 없다면 java_home path 가 없어서 일수도 있고, ant 가 설치되지 않아서 일수도 있다.
# 다시 compile 계속.
# 컴파일 실행 nproc 는 사용가능한 프로세스 수 앞에 time 은 make 걸린 시간.
$ time make -j$(nproc)
# 컴파일 결과물 설치
$ sudo make install
설치 후 테스트
# Hello.java
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Scalar;
class SimpleSample {
static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
public static void main(String[] args) {
System.out.println("Welcome to OpenCV " + Core.VERSION);
Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
System.out.println("OpenCV Mat: " + m);
Mat mr1 = m.row(1);
mr1.setTo(new Scalar(1));
Mat mc5 = m.col(5);
mc5.setTo(new Scalar(5));
System.out.println("OpenCV Mat data:\n" + m.dump());
}
}
# Hello.java 파일 컴파일 opencv build 만든 폴더 밑에 bin 에 opencv-440.jar 파일이 생성되어있다.
$ javac -classpath ./:./opencv/build/bin/opencv-440.jar Hello.java
# 컴파일한 내용 실행
# 첫번째 인자 -Djava.library.path 는 build lib 위치
# 두번째 인자는 opencv-440.jar 파일 위치
$ java -Djava.library.path=./opencv/build/lib -cp ./:./opencv/build/bin/opencv-440.jar Hello
참고로 빌드한 폴더에 모든 내용이 들어가 있음.
opencv-440.jar 파일이나 libopencv_java440.so 파일등 구동에 필요한 파일들
'SERVER > LINUX' 카테고리의 다른 글
자바 나눔고딕 폰트 설치 (0) | 2021.05.28 |
---|---|
swap 증설 - 메모리 없을때 사용하는.. (0) | 2021.03.02 |
비밀번호 없이 서버 접근 (0) | 2021.03.02 |
linux jenkins install (0) | 2021.03.02 |
java yum install (0) | 2021.03.02 |