[Jetson] venv(가상환경)에 OpenCV build(설치) 연결



venv에 OpenCV build(설치) 혹은 오류 해결 방법

python3.8을 우회 설치하면 OpenCV build 작업이 필요합니다.
python3.8 설치는 여기, OpenCV build는 여기를 참고하세요.

venv에 OpenCV 설치

위 방법으로 OpenCV를 설치하면 아래 명령어를 통해 cpython~~gnu.so 파일 위치를 찾습니다.
* 이 파일은 OpenCV python 바인딩 제공 공유라이브러리 파일로 python 인터프리터와 OpenCV C++코드 연결
sudo find / -name "cv2.cpython*"
위 파일을 venv에 있는 lib에 연결해줍니다.
본인이 생성한 virtualenv의 lib 경로로 이동한 뒤, 심볼링 링크를 연결합니다.
cd ~/myenv/gstreamer/lib/python3.8/site-packages/ ln -s /usr/lib/python3/dist-packages/cv2/python-3.8/cv2.cpython-38-aarch64-linux-gnu.so cv2.so
제가 테스트한 virtualenv 이름은 gstreamer이고 경로는 ~/myenv/gstreamer입니다.
본인 PC 경로를 "~/myenv/gstreamer" 부분에 입력하세요.
이후엔 위 find 명령으로 나온 gnu.so 파일의 경로를 심볼링 링크로 cv2.so로 연결해줍니다.

ll 명령어를 통해 심볼링 링크가 제대로 생성되었는지 확인할 수 있습니다.
ll

심볼릭 링크가 제대로 생성되었다면 pip에 opencv가 없지만 cv2가 import됨을 확인할 수 있습니다.
pip list | grep cv python import cv2 cv2.__version__
* pip install opencv-python을 하지마시고 이미 했다면 uninstall하고 테스트하면 제대로 동작


참고 문헌

[1]   https://crablab.tistory.com/8

댓글

이 블로그의 인기 게시물

[opencv-python] 이미지 크기조절(resize) 하는 법

[python]파이썬: csv reader header skip (첫번째 행 무시하기, 안읽기)

[python] selenium close와 quit 차이점