고난의 openCV in linux

김영기·2024년 4월 10일
0


Vitis_HLS쓰기 위해서 linux 환경으로 갈아타고 있는데

xfopenCV를 쓰기 위해서 cmake를 설치하는데 버전이 왜 인지 몰?루 지만
cmake 공식홈페이지에 최신버전이 3.29로 나옴
근데 3.51이상이 필요하다고 해서

이게 버전이 옛날거 같은데.. 흠 공홈에는 옛날게 올라와있는건가
싶었는데 구글링하다가 git으로 설치하는 사람보고 따라서 cmake 설치 함.

근데 또 안됨

https://cmake.org/files/v3.6/
이 사이트는 cmake들 모아둔 곳 같다.

결국 위에 3.6.1로 설치하는 것 못했고

사이트에서 제일 최신버전인 3.2.9를 설치했다.
우선 사이트에서 cmake 3.x.x 이런거 받고

mkdir cmake
tar -zxvf cmake 3.x.x
cd cmake 3.x.x

./bootstrap --prefix=$HOME/cmake-install
make -j12 #이거는 그냥 코어 때려박음, 컴 성능에 따라 다를 듯
make -j12 install

./bashrc에
export PATH=HOME/cmakeinstall/bin:HOME/cmake-install/bin:PATH
export CMAKE_PREFIX_PATH=HOME/cmakeinstall:HOME/cmake-install:CMAKE_PREFIX_PATH

하고
source ~/.bashrc
하면 update가 성공적으로 진행되는 것을 볼 수 있음

이제 다시 openCV 깔러간다.

HLS에서 vison부분 사용하려면 opencv 4.4.0이 필요한거 같음

$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.4.0.zip
$ unzip opencv.zip
4.4.0 받아주고

$ wget -O opencv_contrib.zip
https://github.com/opencv/opencv_contrib/archive/4.4.0.zip
$ unzip opencv_contrib.zip
모듈 받아주고

$ cd opencv-4.4.0
$ mkdir bulid
$ cd bulid
빌드 파일 만들어서

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D WITH_IPP=OFF -D WITH_1394=OFF -D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_DOCS=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF -D BUILD_PACKAGE=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D WITH_QT=OFF -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_opencv_python3=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_XINE=ON -D OPENCV_ENABLE_NONFREE=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_SKIP_PYTHON_LOADER=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../
cmake를 통해서 bulid

time make -j12
컴파일 성공

sudo make install

/etc/ld.so.conf.d/ 디렉토리에 /usr/local/lib를 포함하는 설정파일이 있는지 확인합니다.

cat /etc/ld.so.conf.d/*

/usr/local/lib이 없으면

$ sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'

그리고
sudo ldconfig

#파이썬 예제 코드
python3 /usr/local/share/opencv4/samples/python/facedetect.py --cascade "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade "/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" /dev/video0

설치가 잘 된듯 하다.

profile
안녕하세요

0개의 댓글