opencv 혼내주기

이세희·2023년 4월 5일

오류 일대기

목록 보기
1/3
post-thumbnail

OPENCV

설치 확인

pkg-config --modversion opencv

설치 제거

sudo apt-get purge libopencv* python-opencv
sudo apt-get autoremove

🔔ros가 설치된 경우는 위 명령어 실행 후 ros 재설치 해야 한다..

필요한 종속성 설치

sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python-dev python-numpy \
    libtbb2 libtbb-dev libdc1394-22-dev

build-essential
make 도구 etc..

cmake
컴파일

pkg-config
프로그램 컴파일, 링크 시 필요한 라이브러리에 대한 정보를 가져오는데 사용

libgtk-3
쓴건 3이지만 gtk2 다운

lib*
특정 코덱/포맷의 비디오/이미지 파일 사용할 때 필요

mesa
OpenGL

libatlas-base gfortran libeigen3
OpenCV 최적화

python-dev python-numpy
파이썬 2.7을 사용하기 때문에 사용
🔔파이썬 3 -> python3으로 사용할 것

나중에 .py실행할 때
import cv2 attributeerror: numpy.core.multiarray failed to import python
오류가 뜬다면 -> opencv에 사용하는 numpy버전이 안맞아서 뜬다고 함
ctrl + shift + p
interprenter 검색
python2.7 선택

opencv 설치

mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.4.0.zip
unzip opencv.zip

opencv contrib(Extra modules)
opencv 홈페이지에 들어가면 각각 어떤 모듈들이 있는지 확인 가능

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.4.0.zip
unzip opencv_contrib.zip

opencv build

cd opencv-4.4.0
mkdir build
cd build
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 WITH_PROTOBUF=ON -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 ../

🔔 AttributeError: module 'cv2' has no attribute 'dnn' opencv
cv2.dnn을 사용하려면 빌드할 때 WITH_PROTOBUF = ON 해줘야 한다

compile/install

make -j(내 cpu 갯수)
sudo make install
sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

check

python
import cv2
cv2.__version__
quit()

저처럼 opencv에게 혼나지 마세요

profile
안녕하세요

0개의 댓글