[참고]
1. http://webnautes.tistory.com/1030 (cmake 동작)
2. http://blog.neonkid.xyz/100
3. http://agiantmind.tistory.com/183 (cmake 동작)
- 저는 1번 블로그님의 방법으로 진행하다가 아래와 같은 오류가 발생했어요. (이유를 모르겠어요ㅠㅠ) cmake를 사용하여 컴파일 할 때 ctrl+c 해서 붙여 넣기 하세요!
[오류 발생]
modules/highgui/CMakeFiles/opencv_highgui.dir/build.make:62: 'modules/highgui/src/moc_window_QT.cxx' 타겟에 대한 명령이 실패했습니다
make[2]: *** [modules/highgui/src/moc_window_QT.cxx] 오류 1
CMakeFiles/Makefile2:4806: 'modules/highgui/CMakeFiles/opencv_highgui.dir/all' 타겟에 대한 명령이 실패했습니다
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 오류 2
Makefile:160: 'all' 타겟에 대한 명령이 실패했습니다
make: *** [all] 오류 2
- cmake 명령어의 path를 현재 본인 PC의 저장 위치로 변경하고 다시 시도
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_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=/home/keti/바탕화면/KETI/opencv/opencv_contrib-3.4.0/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
../
[오류발생]
modules/highgui/CMakeFiles/opencv_highgui.dir/build.make:62: 'modules/highgui/src/moc_window_QT.cxx' 타겟에 대한 명령이 실패했습니다
make[2]: *** [modules/highgui/src/moc_window_QT.cxx] 오류 1
CMakeFiles/Makefile2:4806: 'modules/highgui/CMakeFiles/opencv_highgui.dir/all' 타겟에 대한 명령이 실패했습니다
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 오류 2
Makefile:160: 'all' 타겟에 대한 명령이 실패했습니다
make: *** [all] 오류 2
- qt 관련 오류 인가? 뭐지? 왜 안되지? (4시간 째 헤매는 중) . vmware(가상환경)이라서 문제가 발생한 듯 싶네요 ㅠㅠ
- webnautes webnautes2018.05.28 11:59 신고
VMware가 물리적 하드웨어를 가상 머신에 설치된 우분투에서도 사용할 수 있게 해주지만..
직접 피시에 설치한 우분투에서 동일한 하드웨어를 사용하는 것과 똑같이 동작하지 않는 경우가 있어서 그렇습니다.
OpenCV를 사용한다면 처리 속도도 중요하기 때문에 상대적으로 느리게 동작할 수 밖에 없는 VMware는 피하는게 좋을 듯합니다.
- 기타 궁금한 점
덕분에 opencv 설치까지 모두 마쳤습니다. 마지막에 나오는 facedetect예제를 실행시키려는데 오류가 나타납니다.
./facedetect: error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory
현재 제가 사용하고 있는 ARM보드가 Huins사의 I.MX6Q모델입니다. 카메라를 연결하였지만 오류는 여전히 나타났고 다른 예제들에도 같은 문구의 오류가 나타났습니다... 혹시 해결방법이 있는지 여쭤보고싶습니다.
그리고 opencv를 설치하는 과정이 porting(포팅)이라는 과정과 같은 것인지도 궁금합니다.
번거롭게 해드려서 죄송합니다...
- webnautes webnautes2018.05.28 21:31 신고
프로그램 실행시 라이브러리 파일을 찾지 못하는 것 같습니다.
아래 링크에 나오는 설명처럼 진행해보세요..
https://github.com/GaoHongchen/DIPDemo/issues/1
포팅은 특정 플랫폼을 위해 작성된 소스 코드를 다른 플랫폼에서 동작하도록 하는 작업인듯 싶습니다.
윈도우용 프로그램을 리눅스용 프로그램으로 변경하는 것도 포팅이라 볼 수도 있어서..
OpenCV를 특정 보드에서 동작하도록 하는 것도 포팅이라 볼 수 있을 듯합니다.
ARM 보드 쪽에선
보통 부트로더 소스 코드나 리눅스 소스 코드를 특정 ARM 보드에서 동작시키기 위해 하드웨어 스펙에 맞추어 코드를 변경하는 경우를 포팅이라 보는 듯합니다.
같은 ARM 시피유를 사용하더라도 보드를 만드는 업체에 따라 다른 하드웨어 구성으로 설계하기 때문입니다.
이런 맥락에서 본다면 OpenCV를 우분투/데비안 계열 리눅스를 사용하는 플랫폼에서 컴파일 하는 경우에는 포팅이라 부르기 애매한 듯합니다.
피시(인텔 CPU)든 라즈베리파이(ARM CPU)든 우분투/데비안 계열 리눅스상에서는 코드 수정없이 컴파일하면 되서라고 봅니다.
- 결론 : 가상환경이 아닌 환경에서 다시 도전하기
'#openCV # 파이썬' 카테고리의 다른 글
#openCV #Image Contours #cv2.findContours() #cv2.drawContours() (0) | 2019.04.03 |
---|---|
#openCV #카메라 정보 비디오 저장 (0) | 2019.04.01 |
#openCV #python #비디오 프레임 스트림 재생 (0) | 2019.03.27 |
#두 개의 이미지 비교해서 차이점 보여주기 (2) | 2019.03.21 |
#이미지 처리 라이브러리 #Pillow #scikit-image (0) | 2019.03.19 |