Home OpenCV In L4T 32.2.3설정
Post
Cancel

OpenCV In L4T 32.2.3설정

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 설치 시 같이 설치됨

1
OpenCV version: 3.2.0

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 파일 확인

image.png

에서 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

링크 변경이 확인되었다.

This post is licensed under CC BY 4.0 by the author.