00. Requirements
24.01.09: 아래 내용 다 쓸데없음. L4T 32.2.3 버전 최신은 OpenCV 4 지원함 젠장~
24.05.16: 그래도 혹시 몰라 백업
환경
- OpenCV 3.4.0
[[L4T 32.2.3 가상환경]] -> 포기. VM에 Nvidia 글카 없음- Jetson NANO
01. 설치 확인
1
2
3
4
5
6
7
8
| #include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
int main() {
std::cout << "OpenCV version: " << CV_VERSION << std::endl;
return 0;
}
|
확인. 보통 L4T 설치 시 같이 설치됨
02. 경로 확인
1
2
3
| kimec@pix-desktop:~$ sudo find / -name "libopencv_core.so" 2>/dev/null
[sudo] password for kimec:
/usr/lib/aarch64-linux-gnu/libopencv_core.so
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| root@pix-desktop:/usr/lib/aarch64-linux-gnu#
libopencv_calib3d.so.3.2.0
libopencv_calib3d.so.4.1
libopencv_calib3d.so.4.1.1
libopencv_ccalib.a
libopencv_ccalib.so
libopencv_ccalib.so.3.2
libopencv_ccalib.so.3.2.0
libopencv_core.a
libopencv_core.so
libopencv_core.so.3.2
libopencv_core.so.3.2.0
libopencv_core.so.4.1
libopencv_core.so.4.1.1
...
|
3.2.0과 4.1.1 이 함께 설치되어있음.
3.2.0으로 출력되는 이유
1
2
3
4
5
6
7
8
9
10
11
12
| root@pix-desktop:/usr/include/opencv2# grep "CV_VERSION" -r *
core/version.hpp:#define CV_VERSION_MAJOR 3
core/version.hpp:#define CV_VERSION_MINOR 2
core/version.hpp:#define CV_VERSION_REVISION 0
root@pix-desktop:/usr/include/opencv2/core# cat version.hpp
#define CV_VERSION_MAJOR 3
#define CV_VERSION_MINOR 2
#define CV_VERSION_REVISION 0
#define CV_VERSION_STATUS ""
|
설치는 3.2.0으로 됨.
4.1.1 업데이트
x-bar 나 x-ing 사용하려 했는데 보통 OpenCV와 함께 사용함.. 왜지?
이미 설치 된 4.1.1의 헤더들을 찾아서 복사하기
1. 원본 백업
1
2
3
| mkdir Origin_OpenCV
cd /usr/include/
cp -rap opencv2 /home/kimec/Origin_OpenCV/
|
2. 파일 받기
1
| root@pix-desktop:/home/kimec/OPENCV_4.1.1_GIT# git clone https://github.com/opencv/opencv.git
|
3. 덮어쓰기
기존 위치에 파일만 덮어씌우면 되지 않을까..
1
| root@pix-desktop:/usr/lib/aarch64-linux-gnu#
|
1. 4.1.1 파일 확인
에서 4.1.1 로 중복 된 녀석들만 찾기
2. 헤더 파일 위치로 이동
1
2
3
4
5
6
7
8
9
| root@pix-desktop:/usr/include/opencv2/calib3d# ls
calib3d_c.h calib3d.hpp
root@pix-desktop:/usr/include/opencv2/calib3d# ll
total 32
drwxr-xr-x 2 root root 4096 11월 16 17:12 ./
drwxr-xr-x 38 root root 4096 11월 16 17:13 ../
-rw-r--r-- 1 root root 20138 5월 12 2017 calib3d_c.h
-rw-r--r-- 1 root root 2369 5월 12 2017 calib3d.hpp
root@pix-desktop:/usr/include/opencv2/calib3d#
|
core 폴더까지함. core 폴더 밖의 헤더랑 쿠다 확인해봐야됨 완료
3. 링크 파일 생성
1. .so
링크 확인
1
2
3
4
5
6
7
| root@pix-desktop:/usr/lib/aarch64-linux-gnu# ll libopencv_core*
-rw-r--r-- 1 root root 4717758 9월 20 2018 libopencv_core.a
lrwxrwxrwx 1 root root 21 9월 20 2018 libopencv_core.so -> libopencv_core.so.3.2
lrwxrwxrwx 1 root root 23 9월 20 2018 libopencv_core.so.3.2 -> libopencv_core.so.3.2.0
-rw-r--r-- 1 root root 2035768 9월 20 2018 libopencv_core.so.3.2.0
lrwxrwxrwx 1 root root 23 12월 14 2019 libopencv_core.so.4.1 -> libopencv_core.so.4.1.1
-rw-r--r-- 1 root root 3962608 12월 14 2019 libopencv_core.so.4.1.1
|
현재 libopencv_core.so
는 3.2로 링크됨
2. 기존 .so
파일 삭제
1
2
3
4
5
6
7
8
| root@pix-desktop:/usr/lib/aarch64-linux-gnu# rm -rf ./libopencv_core.so
root@pix-desktop:/usr/lib/aarch64-linux-gnu# ll libopencv_core*
-rw-r--r-- 1 root root 4717758 9월 20 2018 libopencv_core.a
lrwxrwxrwx 1 root root 23 9월 20 2018 libopencv_core.so.3.2 -> libopencv_core.so.3.2.0
-rw-r--r-- 1 root root 2035768 9월 20 2018 libopencv_core.so.3.2.0
lrwxrwxrwx 1 root root 23 12월 14 2019 libopencv_core.so.4.1 -> libopencv_core.so.4.1.1
-rw-r--r-- 1 root root 3962608 12월 14 2019 libopencv_core.so.4.1.1
|
3. .so
링크 생성
1
2
3
4
5
6
7
8
9
| root@pix-desktop:/usr/lib/aarch64-linux-gnu# ln -s libopencv_core.so.4.1 libopencv_core.so
root@pix-desktop:/usr/lib/aarch64-linux-gnu# ll libopencv_core*
-rw-r--r-- 1 root root 4717758 9월 20 2018 libopencv_core.a
lrwxrwxrwx 1 root root 21 12월 26 10:33 libopencv_core.so -> libopencv_core.so.4.1
lrwxrwxrwx 1 root root 23 9월 20 2018 libopencv_core.so.3.2 -> libopencv_core.so.3.2.0
-rw-r--r-- 1 root root 2035768 9월 20 2018 libopencv_core.so.3.2.0
lrwxrwxrwx 1 root root 23 12월 14 2019 libopencv_core.so.4.1 -> libopencv_core.so.4.1.1
-rw-r--r-- 1 root root 3962608 12월 14 2019 libopencv_core.so.4.1.1
|
링크 변경이 확인되었다.