반응형

OpenCV에서 Raspberry Pi Camera Module( picamera )를 사용하는 방법을 다룹니다.



웹캠의 경우 라즈베리파이 보드에 연결해주면 /dev/video0 디바이스 파일이 생성되어 OpenCV에서 카메라 접근이 가능합니다.

하지만 라즈베리파이에서는 라즈베리파이 보드에 연결해도  /dev/video0 디바이스 파일이 만들어지지 않기 때문에 OpenCV에서 카메라 접근을 하려면 추가 작업이 필요합니다.



라즈베리파이 카메라 모듈을 OpenCV에서 사용할 수 있는 방법은 두 가지입니다.


1. 라즈베리파이 카메라 제어를 위해 C++ 라이브러리 raspicam을 사용


2. 라즈베리파이 카메라 모듈을 인식시켜주는 카메라 디바이스 모듈을 커널에 로드시켜 /dev/video0 디바이스 파일 생성

- 관련 포스팅 2번에서 소개하고 있습니다.



본 포스팅에서는 첫번째 방법을 설명합니다.


관련 포스팅



1. Raspberry Pi Camera Module( pi camera ) 사용하는 방법

http://webnautes.tistory.com/929


Raspberry Pi 3에서 Raspberry Pi Camera Module을 인식시켜 사용해보는 과정을 다루고 있습니다.



2. Raspberry Pi Camera Module( pi camera )를 위해 /dev/video0 생성하는 방법

http://webnautes.tistory.com/1192




3. Raspberry Pi 3에 opencv_contrib 포함하여 OpenCV 3.4.1 설치하는 방법

http://webnautes.tistory.com/916


OpenCV와 opencv_contrib(extra modules)를 컴파일하여 Raspberry Pi 3에 설치하는 방법을 다룹니다.


마지막 업데이트 2018. 6. 25




C++ 라이브러리 raspicam을 사용하는 방법은 별도의 드라이버 모듈 설치 없이 라이브러리만 설치하면 사용할 수 있는 방법입니다.


raspicam 라이브러리에서 제공하는 OpenCV 인터페이스를 사용하면 별도의 변환과정 없이 OpenCV 함수에서 캡처한 영상을 가져다 사용할 수 있습니다.


또한 OpenCV 없이 raspicam 라이브러리만 이용하여 영상 캡쳐를 할 수 있는데  V4L2 라이브러리를 사용하는 경우에 비해 작성해야 하는 소스 코드길이가 짧고 사용하기도 쉽습니다.




1. raspicam 라이브러리 설치


1-1. 이제 raspicam 라이브러리를 컴파일하여 설치하는 과정을  소개합니다.


OpenCV와 같이 사용하려면 먼저 OpenCV를 설치해주셔야 합니다. 아래 포스팅을 참고해주세요.

OpenCV 4.0.0에서 C API가 제거되어서 raspicam 컴파일시 에러가 발생합니다.

raspicam 를 사용하려면 아래 포스팅 진행시 OpenCV 3.4.4 이하 소스코드를 사용하여 진행해주세요.


Raspberry Pi 3에 opencv_contrib 포함하여 OpenCV 4.0.0 설치하는 방법

http://webnautes.tistory.com/916




1-2. raspicam을 다운로드 받은 후,  cmake 명령을 사용합니다.


아래 링크에서 최신 버전 확인 및  다운로드 가능합니다. 현재 최신 버전은 0.1.6입니다.  

https://sourceforge.net/projects/raspicam/files/


pi@raspberrypi:~ $ wget https://downloads.sourceforge.net/project/raspicam/raspicam-0.1.6.zip
pi@raspberrypi:~ $ unzip raspicam-0.1.6.zip
pi@raspberrypi:~ $ cd raspicam-0.1.6
pi@raspberrypi:~/raspicam-0.1.6 $ mkdir build
pi@raspberrypi:~/raspicam-0.1.6 $ cd build
pi@raspberrypi:~/raspicam-0.1.6/build $ cmake ..




1-3. cmake 실행시 OpenCV가 인식되면 아래와 같이 인식된 버전을 알려 줍니다.  


pi@raspberrypi:~/raspicam-0.1.6/build $  cmake ..
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /usr/local (found version "3.4.1")
-- -------------------------------------------------------------------------------
-- GNU COMPILER
-- -------------------------------------------------------------------------------
-- Adding cv library
--
-- -------------------------------------------------------------------------------
-- General configuration for raspicam 0.1.6
-- -------------------------------------------------------------------------------
--
   Built as dynamic libs?:ON
   Compiler:/usr/bin/c++
-- C++ flags (Release):        -std=c++0x -Wl,--no-as-needed -Wall -ffunction-sections   -fomit-frame-pointer -O2 -ffast-math -DNDEBUG -lpthread
-- C++ flags (Debug):          -std=c++0x -Wl,--no-as-needed -Wall -ffunction-sections  -g3 -O0 -DDEBUG -D_DEBUG -W -Wextra -Wno-return-type -lpthread
-- CMAKE_CXX_FLAGS:          -std=c++0x -Wl,--no-as-needed  -Wall -ffunction-sections
-- CMAKE_BINARY_DIR:         /home/pi/raspicam-0.1.6/build
--
-- CMAKE_SYSTEM_PROCESSOR = armv7l
-- BUILD_SHARED_LIBS = ON
-- BUILD_UTILS = ON
-- CMAKE_INSTALL_PREFIX = /usr/local
-- CMAKE_BUILD_TYPE = Release
-- CMAKE_MODULE_PATH = /usr/local/lib/cmake/;/usr/lib/cmake
--
-- CREATE OPENCV MODULE=1
-- CMAKE_INSTALL_PREFIX=/usr/local
-- REQUIRED_LIBRARIES=/opt/vc/lib/libmmal_core.so;/opt/vc/lib/libmmal_util.so;/opt/vc/lib/libmmal.so
--
--
-- Change a value with: cmake -D<Variable>=<Value>
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/raspicam-0.1.6/build




1-4. 이제 컴파일 및 설치를 해줍니다.


pi@raspberrypi:~/raspicam-0.1.6/build $ make && sudo make install

pi@raspberrypi:~/raspicam-0.1.6/build $ sudo ldconfig




1-5. 다음 위치에 샘플 코드들이 포함되어 있습니다.


pi@raspberrypi:~/raspicam-0.1.6/utils $ ls -l
total 32
-rw-rw-r-- 1 pi pi  672 Feb 19 2017 CMakeLists.txt
-rw-rw-r-- 1 pi pi 3376 Feb 19  2017 raspicam_cv_still_test.cpp
-rw-rw-r-- 1 pi pi 6150 Feb 19  2017 raspicam_cv_test.cpp
-rw-rw-r-- 1 pi pi 3597 Feb 19  2017 raspicam_still_test.cpp
-rw-rw-r-- 1 pi pi 9985 Feb 19  2017 raspicam_test.cpp




2. OpenCV 인터페이스 사용

2-1. 카메라 영상 캡처


1. 새로 만든 디렉토리로 이동하여  편집기로 main.cpp라는 파일을 새로 열어서


pi@raspberrypi:~ $ mkdir raspicam_example_with_opencv

pi@raspberrypi:~ $ cd raspicam_example_with_opencv

pi@raspberrypi:~/raspicam_example_with_opencv $ nano main.cpp




2. 다음 코드를 입력해 줍니다.


#include <iostream>
#include <raspicam/raspicam_cv.h>
#include <opencv2/imgproc.hpp>

using namespace std;
using namespace cv;

int main ( int argc,char **argv ) {

   raspicam::RaspiCam_Cv Camera;
   Mat image;

   Camera.set( CV_CAP_PROP_FORMAT, CV_8UC3);
   Camera.set( CV_CAP_PROP_FRAME_WIDTH, 640 );
   Camera.set( CV_CAP_PROP_FRAME_HEIGHT, 480 );


   if (!Camera.open()) {cerr<<"Error opening the camera"<<endl;return -1;}

   while(1){


       Camera.grab();
       Camera.retrieve ( image);

       //cvtColor(image, image, cv::COLOR_BGR2RGB);

       imshow( "picamera test", image );
       if ( waitKey(20) == 27 ) break; //ESC키 누르면 종료

   }

   Camera.release();
}



3. CMakeLists.txt 파일을 편집기로 새로 열어


pi@raspberrypi:~/raspicam_example_with_opencv $ nano CMakeLists.txt



다음 내용을 입력해 줍니다.


cmake_minimum_required (VERSION 2.8)

set(CMAKE_MODULE_PATH "/usr/local/lib/cmake/${CMAKE_MODULE_PATH}")
find_package(raspicam REQUIRED)
find_package(OpenCV)

add_executable (main main.cpp)  
target_link_libraries (main ${raspicam_CV_LIBS})




4. 컴파일을 진행할 build 디렉토리를 생성하고 이동합니다.


pi@raspberrypi:~/raspicam_example_with_opencv $ mkdir build

pi@raspberrypi:~/raspicam_example_with_opencv $ cd build

pi@raspberrypi:~/raspicam_example_with_opencv/build $ make

 

 

 

5. 이제  cmake 명령을 수행합니다.

 

pi@raspberrypi:~/raspicam_example_with_opencv/build $  cmake ..
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /usr/local (found version "3.4.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/raspicam_example_with_opencv/build

 

 

다음과 같은 파일들이 생성됩니다.

 

pi@raspberrypi:~/raspicam_example_with_opencv/build $ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile

 

 

 

6. 앞에서 Makefile이 생성되었기 때문에 make 명령으로 컴파일을 진행할 수 있습니다.

 

pi@raspberrypi:~/raspicam_example_with_opencv/build $ make
Scanning dependencies of target main
[ 50%] Building CXX object CMakeFiles/main.dir/main.cpp.o
[100%] Linking CXX executable main
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4610 >= 4040 for section `.strtab'
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4595 >= 4040 for section `.strtab'
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4583 >= 4040 for section `.strtab'
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4621 >= 4040 for section `.strtab'
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4629 >= 4040 for section `.strtab'
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4576 >= 4040 for section `.strtab'
/usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4609 >= 4040 for section `.strtab'
[100%] Built target main

 

 

실행파일 main이 생성되었습니다.

 

pi@raspberrypi:~/raspicam_example_with_opencv/build $ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  main  Makefile

 

 

 

7. MobzXterm 터미널 프로그램에서 실행시키면 다음처럼 실행됩니다.

 

pi@raspberrypi:~/raspicam_example_with_opencv/build $  ./main

 

 

네트워크 환경에 따라 영상 출력 딜레이가 다르게 나타납니다.

 

 

 

8. VNC를 사용하여 실행하려면 아래 포스팅을 참고해서 설정을 먼저 해주세요.

 

Raspberry Pi 3를 VNC로 접속하여 원격 제어하는 방법 (x11vnc)

http://webnautes.tistory.com/549


 

 

VLC도 네트워크 환경에 따라 영상 출력 딜레이가 다르게 나타납니다.

 




2-2. 영상 캡처 & 동영상 파일 저장


1. 새로 만든 디렉토리로 이동하여  편집기로 main.cpp라는 파일을 새로 열어서


pi@raspberrypi:~ $ mkdir raspicam_example_with_opencv2

pi@raspberrypi:~ $ cd raspicam_example_with_opencv2

pi@raspberrypi:~/raspicam_example_with_opencv2 $ nano main.cpp



다음 코드를 입력해 줍니다.


#include <iostream>
#include <raspicam/raspicam_cv.h>
#include <opencv2/imgproc.hpp>
#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;


int main ( int argc,char **argv ) {

   raspicam::RaspiCam_Cv Camera;
   Mat image;

   Camera.set( CV_CAP_PROP_FORMAT, CV_8UC3);
   Camera.set( CV_CAP_PROP_FRAME_WIDTH, 640 );
   Camera.set( CV_CAP_PROP_FRAME_HEIGHT, 480);


   if (!Camera.open()) {cerr<<"Error opening the camera"<<endl;return -1;}


   //파일로 동영상을 저장하기 위한 준비
   cv::VideoWriter outputVideo;
   cv::Size frameSize(640,480);
   int fps = 25;

   outputVideo.open("output.avi", cv::VideoWriter::fourcc('X','V','I','D'),
                    fps, frameSize, true);
   if (!outputVideo.isOpened())
   {
       cout  << "Could not open the output video for write: " <<
               "output.avi" << endl;
       return -1;
   }


   while(1){
       Camera.grab();
       Camera.retrieve ( image);

       //cvtColor(image, image, cv::COLOR_BGR2RGB);

       outputVideo.write(image);

       imshow( "picamera test", image );
       if ( waitKey(20) == 27 ) break; //ESC키 누르면 종료

   }

   Camera.release();
}




2. CMakeLists.txt 파일을 편집기로 새로 열어


pi@raspberrypi:~/raspicam_example_with_opencv2 $ nano CMakeLists.txt




다음 내용을 입력해 줍니다.


cmake_minimum_required (VERSION 2.8)

set(CMAKE_MODULE_PATH "/usr/local/lib/cmake/${CMAKE_MODULE_PATH}")
find_package(raspicam REQUIRED)
find_package(OpenCV)

add_executable (main main.cpp)  
target_link_libraries (main ${raspicam_CV_LIBS})




이제  컴파일합니다.


pi@raspberrypi:~/raspicam_example_with_opencv2 $ mkdir build

pi@raspberrypi:~/raspicam_example_with_opencv2 $ cd build

pi@raspberrypi:~/raspicam_example_with_opencv2/build $ cmake ..

pi@raspberrypi:~/raspicam_example_with_opencv2/build $ make

 

 

좀 기다렸다가 ESC키를 눌러서 프로그램을 종료시킵니다.



생성된 동영상 파일이 MobaXterm의 탐색기에서 보입니다.





해당 파일을 더블클릭하면 윈도우의 기본 동영상 프로그램으로 연결되어 플레이됩니다.




재생시 화면이 작게 보여서 한참 해맸네요..

코드 문제 인줄 알았는데  플레이어에서 원래 크기로 플레이되도록 해줘야 제대로 보입니다.


주의할 점은 동영상을 다시 캡쳐했다면 파일크기가 달라지기 때문에 MobaXterm에서  Refresh Folder 아이콘을 다시 클릭해줘야 제대로 재생이 됩니다.




참고

[1] http://www.uco.es/investiga/grupos/ava/node/40


[2] https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=94426



반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. 이전 댓글 더보기
  2. Favicon of https://toytvstory.tistory.com BlogIcon 뽀로로친구에디 2018.09.03 15:53 신고

    바쁘실텐데 죄송한데요, 2-2 영상캡쳐-파일저장에서 Could not open output video for wite: output.avi 에러가 나는데, 제가 초보라서 뭐가 잘몬됐는지 확실히 모르겠는데요. 어떻게 해야한요?
    바쁘신데 죄송합니다. ^^;;

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.09.03 16:07 신고

      권한문제 일수 있습니다. 다음처럼 실행파일 앞에 sudo를 붙여서 실행시켜 보세요.

      sudo main

  3. Favicon of https://toytvstory.tistory.com BlogIcon 뽀로로친구에디 2018.09.03 16:10 신고

    그렇게 해봤었는데 안되는데요

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.09.03 16:25 신고

      똑같은 에러가 나나요? 실행시킨 위치가 어디인가요? pwd 명령으로 확인가능합니다.

    • Favicon of https://toytvstory.tistory.com BlogIcon 뽀로로친구에디 2018.09.06 11:46 신고

      처음건 잘됐는데 두번째꺼는 제거 뭘 잘못했는지 잘안되네요

      pi@raspberrypi:~/raspicam_example_with_opencv2/build $ make
      Scanning dependencies of target main
      [ 50%] Building CXX object CMakeFiles/main.dir/main.cpp.o
      [100%] Linking CXX executable main
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4610 >= 4040 for section `.strtab'
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4595 >= 4040 for section `.strtab'
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4583 >= 4040 for section `.strtab'
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4621 >= 4040 for section `.strtab'
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4629 >= 4040 for section `.strtab'
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4576 >= 4040 for section `.strtab'
      /usr/bin/ld: /usr/local/lib/libraspicam_cv.so: invalid string offset 4609 >= 4040 for section `.strtab'
      [100%] Built target main
      pi@raspberrypi:~/raspicam_example_with_opencv2/build $ ls
      CMakeCache.txt CMakeFiles cmake_install.cmake main Makefile
      pi@raspberrypi:~/raspicam_example_with_opencv2/build $ ./main
      mmal: mmal_vc_port_enable: failed to enable port vc.ril.camera:out:1(BGR3): ENOSPC
      mmal: mmal_port_enable: failed to enable port vc.ril.camera:out:1(BGR3)(0x8aaa90) (ENOSPC)
      camera video callback2 erroropen Failed to create camera component/home/pi/raspicam-0.1.6/src/private/private_impl.cpp 102
      Error opening the camera
      pi@raspberrypi:~/raspicam_example_with_opencv2/build $ ls
      CMakeCache.txt CMakeFiles cmake_install.cmake main Makefile
      pi@raspberrypi:~/raspicam_example_with_opencv2/build $ pwd
      /home/pi/raspicam_example_with_opencv2/build

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.09.06 12:22 신고

      혹시 raspi-config 명령으로 카메라 옵션을 활성화했나요?

  4. Favicon of https://toytvstory.tistory.com BlogIcon 뽀로로친구에디 2018.09.06 12:26 신고

    네 했는데요, 카메라는 잘 작동하는데요

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.09.06 12:38 신고

      찾아보니 에러나는 원인이 다양하군요.

      포스팅에서 사용한 라이브러리 홈페이지에서는 풀스크린으로 캡쳐하는 경우에 같은 에러가 발생할수 있다고 나와있네요..

      raspi-config에서 GPU메모리를 늘려보라는 말도 있습니다.

      https://github.com/cedricve/raspicam/blob/master/README.md

  5. Favicon of https://toytvstory.tistory.com BlogIcon 뽀로로친구에디 2018.09.06 12:41 신고

    네, 바쁘실텐데 답변 감사합니다^^

  6. 새말 2018.09.13 10:24

    운영자님
    opencv 3.4.1을 설치 완료한 상태에서
    cmake .. 명령어를 치니
    다른 건 다 뜨는데
    GNU COMPILER 위로 정보가 뜨지 않고
    opencv 3.4.1을 못찾네요..ㅠㅠ
    어떻게 하면 raspicam 0.1.6에서 opencv를 잡아주는지 알려주실수 있으신가요?

  7. psh2517 2018.09.21 12:56

    MobaXterm X11 proxy: unable to connect to forwarded X server: Network error: Connection refused

    (picamera test:2843): Gtk-WARNING **: cannot open display: localhost:10.0

    수고많으십니다. 위와같은 에러가 떠서 질문을 드립니다. ㅠㅠ 이럴 경우 어떻게 해결해야할까요 ..

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.09.21 14:03 신고

      X Server를 실행시킨게 아니라 OpenCV 컴파일한 프로그램을 실행시킬때 발생했나요.

  8. SW bean 2018.10.07 16:27

    안녕하세요! 제가 구현하고 싶은게 있는데요!

    카메라로 찍은 사진을 스트리밍 하지 않고 라즈베리 디렉토리에 저장한 다음
    텐서플로로 이미지 분석 학습시켜 놓은 모델로 분석해서
    LED 램프를 이용해 판별하고 싶은데 위에 올려주신 소스들을 활용하면
    구현가능할까요? 시간이 많이 없어서 공부하면서 구현시키려고 하고있는데
    지금 기초가 많이 부족해서 도움 부탁드립니다 ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.10.07 16:35 신고

      텐서플로우보단 OpenCV에서 색인식으로 하는게 쉽습니다.

  9. hi 2018.12.04 11:16

    wget https://downloads.sourceforge.net/project/raspicam/raspicam-0.1.6.zip
    - - 2018-12-04 10:58:55- https://downloads.sourceforge.net/project/raspicam/raspicam-0.1.6.zip
    Resolving downloads.sourceforge.net (downloads.sourceforge.net)...failed:name resolution에서 일시적인실패.
    wget: unable to resolve host address 'downloads.source.net'
    맨 처음 0.1.6다운 받을 때 오류가 이렇게 뜹니다ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.12.04 11:47 신고

      현재 라즈베리파이가 인터넷 접속이 안되서 생긴 문제같습니다.

  10. hello 2018.12.04 17:08



    1-4 make && sudo make install 타이핑 하면 에러가 아래처럼떠요

    pi@raspberrypi:~/raspicam-0.1.6/build $ make && sudo make install
    [ 5%] Building CXX object src/CMakeFiles/raspicam_cv.dir/raspicam_cv.cpp.o
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp: In constructor ‘raspicam::RaspiCam_Cv::RaspiCam_Cv()’:
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:46:9: error: ‘CV_CAP_PROP_FORMAT’ was not declared in this scope
    set(CV_CAP_PROP_FORMAT,CV_8UC3);
    ^~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp: In member function ‘double raspicam::RaspiCam_Cv::get(int)’:
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:92:14: error: ‘CV_CAP_PROP_FRAME_WIDTH’ was not declared in this scope
    case CV_CAP_PROP_FRAME_WIDTH :
    ^~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:94:14: error: ‘CV_CAP_PROP_FRAME_HEIGHT’ was not declared in this scope
    case CV_CAP_PROP_FRAME_HEIGHT :
    ^~~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:96:14: error: ‘CV_CAP_PROP_FPS’ was not declared in this scope
    case CV_CAP_PROP_FPS:
    ^~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:98:14: error: ‘CV_CAP_PROP_FORMAT’ was not declared in this scope
    case CV_CAP_PROP_FORMAT :
    ^~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:100:14: error: ‘CV_CAP_PROP_MODE’ was not declared in this scope
    case CV_CAP_PROP_MODE :
    ^~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:102:14: error: ‘CV_CAP_PROP_BRIGHTNESS’ was not declared in this scope
    case CV_CAP_PROP_BRIGHTNESS :
    ^~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:104:14: error: ‘CV_CAP_PROP_CONTRAST’ was not declared in this scope
    case CV_CAP_PROP_CONTRAST :
    ^~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:106:14: error: ‘CV_CAP_PROP_SATURATION’ was not declared in this scope
    case CV_CAP_PROP_SATURATION :
    ^~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:109:14: error: ‘CV_CAP_PROP_GAIN’ was not declared in this scope
    case CV_CAP_PROP_GAIN :
    ^~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:111:14: error: ‘CV_CAP_PROP_EXPOSURE’ was not declared in this scope
    case CV_CAP_PROP_EXPOSURE :
    ^~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:116:14: error: ‘CV_CAP_PROP_CONVERT_RGB’ was not declared in this scope
    case CV_CAP_PROP_CONVERT_RGB :
    ^~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:118:14: error: ‘CV_CAP_PROP_WHITE_BALANCE_RED_V’ was not declared in this scope
    case CV_CAP_PROP_WHITE_BALANCE_RED_V:
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:125:14: error: ‘CV_CAP_PROP_WHITE_BALANCE_BLUE_U’ was not declared in this scope
    case CV_CAP_PROP_WHITE_BALANCE_BLUE_U:
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp: In member function ‘bool raspicam::RaspiCam_Cv::set(int, double)’:
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:143:14: error: ‘CV_CAP_PROP_FRAME_WIDTH’ was not declared in this scope
    case CV_CAP_PROP_FRAME_WIDTH :
    ^~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:146:14: error: ‘CV_CAP_PROP_FRAME_HEIGHT’ was not declared in this scope
    case CV_CAP_PROP_FRAME_HEIGHT :
    ^~~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:149:14: error: ‘CV_CAP_PROP_FORMAT’ was not declared in this scope
    case CV_CAP_PROP_FORMAT :{
    ^~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:162:14: error: ‘CV_CAP_PROP_MODE’ was not declared in this scope
    case CV_CAP_PROP_MODE ://nothing to do yet
    ^~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:165:14: error: ‘CV_CAP_PROP_BRIGHTNESS’ was not declared in this scope
    case CV_CAP_PROP_BRIGHTNESS :
    ^~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:168:14: error: ‘CV_CAP_PROP_CONTRAST’ was not declared in this scope
    case CV_CAP_PROP_CONTRAST :
    ^~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:171:14: error: ‘CV_CAP_PROP_SATURATION’ was not declared in this scope
    case CV_CAP_PROP_SATURATION :
    ^~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:175:14: error: ‘CV_CAP_PROP_GAIN’ was not declared in this scope
    case CV_CAP_PROP_GAIN :
    ^~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:178:14: error: ‘CV_CAP_PROP_EXPOSURE’ was not declared in this scope
    case CV_CAP_PROP_EXPOSURE :
    ^~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:186:14: error: ‘CV_CAP_PROP_CONVERT_RGB’ was not declared in this scope
    case CV_CAP_PROP_CONVERT_RGB :
    ^~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:189:14: error: ‘CV_CAP_PROP_WHITE_BALANCE_RED_V’ was not declared in this scope
    case CV_CAP_PROP_WHITE_BALANCE_RED_V:
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/pi/raspicam-0.1.6/src/raspicam_cv.cpp:200:14: error: ‘CV_CAP_PROP_WHITE_BALANCE_BLUE_U’ was not declared in this scope
    case CV_CAP_PROP_WHITE_BALANCE_BLUE_U:
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    src/CMakeFiles/raspicam_cv.dir/build.make:62: 'src/CMakeFiles/raspicam_cv.dir/raspicam_cv.cpp.o' 타겟에 대한 명령이 실패했습니다
    make[2]: *** [src/CMakeFiles/raspicam_cv.dir/raspicam_cv.cpp.o] 오류 1
    CMakeFiles/Makefile2:119: 'src/CMakeFiles/raspicam_cv.dir/all' 타겟에 대한 명령이 실패했습니다
    make[1]: *** [src/CMakeFiles/raspicam_cv.dir/all] 오류 2
    Makefile:127: 'all' 타겟에 대한 명령이 실패했습니다
    make: *** [all] 오류 2

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.12.04 17:28 신고

      테스트해보았는데 OpenCV 4.0에서 C API가 제거되서 발생한 에러같습니다.

      OpenCV 3.4.4 이하 버전을 설치해야 해결될 듯합니다.

      OpenCV 설치 포스팅을 따라할때 소스코드 4.0 대신에 3.4.4를 다운로드 받아 진행후 다시 해야 할듯합니다.

    • hello 2018.12.05 13:49

      3.4.4로해도 안돼요............

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.12.05 14:18 신고

      cmake실행시 표시되는 OpenCV 버전을 확인해보세요.

  11. 공도리 2018.12.27 22:48

    안녕하세요 유익한 글 잘 보고 있습니다!
    링크된 글을 통해 3.4.3 버전을 설치 후 본문을 따라가던 중, 기존에 설치되어있던(링크된 글을 따라 이전에 설치하였음) 4.0.0 버전 삭제가 완전히 되지 않는지,
    해당 글에서 2.4 이전버전 삭제 방법을 따라 하였는데도 /usr/local/share/opencv4 가 남아 있어
    pkg-config --modversion opencv 를 실행하였을 땐 3.4.3 버전이 확인되고,
    cmake .. 을 실행하였을 땐 4.0.0 버전이 인식되는 상황입니다.
    이러한 상황이 원인인지, make && sudo make install 단계에서 오류가 발생하였습니다.
    위의 오류를 해결하기에 앞서,
    여러모로 4.0.0 버전을 사용하기엔 불편함이 있는것 같아, 해당 버전을 완전하게 삭제하고 싶은데
    /usr/local/share/opencv4 를 데스크탑 환경에서 삭제하려 하면 허가 거부로 삭제 오류가 납니다
    이때 sudo 권한을 얻어 해당 폴더를 삭제하면 4.0.0 버전이 삭제되는 것인지,
    아니면 거쳐야 할 별도의 삭제 과정이 있는 것인지 조언을 얻고자 댓글 남깁니다
    바쁘신 와중에 지식을 공유해주셔서 감사합니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.12.27 23:34 신고

      다음 포스팅의 1번을 참고하세요.

      https://webnautes.tistory.com/1186

    • 공도리 2018.12.29 00:07

      덕분에 해결했습니다!
      감사합니다
      새해 복 많이 받으세요

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2018.12.29 07:41 신고

      감사합니다 : )

  12. 졸음감지하고싶어요 2019.02.19 10:02

    안녕하세요. 이번에 졸음감지 프로그램을 구현해보고 싶어서 이 블로그에서 참조 많이하며 도움받고 있습니다.
    현재 라즈베리파이3B+에 파이카메라를 부착하여 진행하고 있는 상태입니다.
    이 블로그의 설치 순서대로 진행하고 있는데 몇가지 질문이 있습니다.

    Q1)
    현재 OpenCV 4.0.1를 설치하여 진행하기 때문에
    2. 라즈베리파이 카메라 모듈을 인식시켜주는 카메라 디바이스 모듈을 커널에 로드시켜 /dev/video0 디바이스 파일 생성
    ( http://webnautes.tistory.com/1192 )을 참고하여 진행하고 있는데
    위의 링크에서 6. OpenCV에서 사용시에는 다음처럼 0대신에 -1을 open함수의 아규먼트로 사용해야 합니다.
    부분의 코드를 어느곳에 작성해야 하는지 궁금합니다.

    Q2)
    3. Raspberry Pi 3에 opencv_contrib 포함하여 OpenCV 3.4.1 설치하는 방법
    ( http://webnautes.tistory.com/916 )
    위의 링크를 따라서 OpenCV 4.0.1 설치를 진행하고 있는데
    <Raspberry Pi Camera Module( pi camera )를 위해 /dev/video0 생성하는 방법> 까지 진행하였습니다.
    VideoCapture capture;
    ........................................
    if(!capture.open(-1))
    cout << "Capture from camera #" << camera << " didn't work" << endl;
    이러한 코드를 어느 부분에 작성해야 하는지 궁금합니다. 이는 아래의 Python코드도 동일합니다.
    VNC로 진행하고 있는데 MobaXterm를 설치해야만 확인이 가능한지요?

    Q3)
    pi@raspberrypi:~/opencv/opencv-4.0.1/build $ python /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

    face detection using haar cascades

    USAGE:
    facedetect.py [--cascade <cascade_fn>] [--nested-cascade <cascade_fn>] [<video_source>]

    [ INFO:0] Initialize OpenCL runtime...
    (python3:1230): GStreamer-CRITICAL **: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed
    위의 파이썬 명령어를 입력하여 다음과 같은 메시지만 출력되고 별다른 변화가 없습니다. 제가 무슨 실행해야 하는 것을 놓친것인가요?

    Q4) 5. OpenCV 설치 결과 확인에서
    C++과 Python의 2가지 언어를 사용하던데 이것은 제가 선택해서 하나만 사용해도 되는 것인가요? 아니면 두가지를 모두 실행시켜보아야 하나요?

    라즈베리파이와 OpenCV, 영상을 다루는 작업이 처음이며 초보여서 질문이 많습니다 ㅠㅠ 죄송합니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.02.19 10:14 신고

      A1)
      카메라로부터 캡쳐할때 사용하는 VideoCapture 객체를 생성할때 입력하면 됩니다.

      VideoCapture capture(0); 대신에
      VideoCapture capture(-1);을 사용하면 됩니다.

      또는 다음처럼 해도 됩니다.
      VideoCapture capture;
      capture.open(-1)


      A2)
      VNC에서도 실행시키면 확인 가능합니다.
      다음 파일에서 해당 코드를 찾아 수정하면 됩니다.
      /usr/local/share/opencv4/samples/python/facedetect.py


      A3)
      VNC라도 실행이 되는데 이상하군요
      MobaXterm로 해보세요.


      A4)
      설치가 잘되었는지 확인하기 위해서 파이썬과 C++ 두가지 모두 예제를 실행시켜 보는 것입니다.
      사용할 언어만 테스트해봐도 됩니다.

  13. 도와주세요 2019.03.13 02:42

    1-1. 이제 raspicam 라이브러리를 컴파일하여 설치하는 과정을 소개합니다.



    OpenCV와 같이 사용하려면 먼저 OpenCV를 설치해주셔야 합니다. 아래 포스팅을 참고해주세요.

    OpenCV 4.0.0에서 C API가 제거되어서 raspicam 컴파일시 에러가 발생합니다.

    raspicam 를 사용하려면 아래 포스팅 진행시 OpenCV 3.4.4 이하 소스코드를 사용하여 진행해주세요.

    OpenCV를 따라서 진행하고 있었는데 저는 파이 카메라를 사용하는데 그럼 3.4.4를 설치해야하는 것인가요?
    그렇다면 지금 포스팅되어 있는 페이지는 4.0을 다루고 있는데 버전 명령어 치는 곳에서 3.4.4를 치면 될까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.13 09:05 신고

      맞습니다. OpenCV 버전만 바꾸면 됩니다

    • 도와주세요 2019.03.14 13:22

      그런데 제가 저번에 이 포스트에 있는 4.0.0으로 설치하여서 예제코드를 실행하였을 때 파이카메라가 제 얼굴과 눈이 검출된 것을 확인하였는데 다시 다운 그레이드 하는 것이 좋을까요?


      제가 https://www.pyimagesearch.com/2017/05/01/install-dlib-raspberry-pi/ 이 사이트를 참고해서 작성자님의 openCV에 이어 dlib를 설치하는데 라즈베리파이가 2대가 벌써 고장나서 설치에 굉장히 예민하네요..ㅠ SD카드와 라즈베리파이가 같이 날라갑니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.03.14 13:33 신고

      본글에 있는걸 하려면 버전을 다운그레이드 해야합니다.

      라이브러리땜에 고장나는건 저도 첨보네요

  14. 라즈파이 2019.05.14 15:42

    pi@Ving:~/raspicam_example_with_opencv/build $ cmake ..
    CMake Error at CMakeLists.txt:4 (find_package):
    By not providing "Findraspicam.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "raspicam",
    but CMake did not find one.

    Could not find a package configuration file provided by "raspicam" with any
    of the following names:

    raspicamConfig.cmake
    raspicam-config.cmake

    Add the installation prefix of "raspicam" to CMAKE_PREFIX_PATH or set
    "raspicam_DIR" to a directory containing one of the above files. If
    "raspicam" provides a separate development package or SDK, be sure it has
    been installed.


    -- Configuring incomplete, errors occurred!
    See also "/home/pi/raspicam_example_with_opencv/build/CMakeFiles/CMakeOutput.log".

    이렇게 오류뜨네요ㅜ 해결방안 부탁드립니다 ㅜㅜ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.14 15:48 신고

      raspicam를 설치한.후 진행하는 건가요?

    • 라즈파이 2019.05.16 13:21

      pi@raspberrypi:~ $ wget https://downloads.sourceforge.net/project/raspicam/raspicam-0.1.6.zip
      pi@raspberrypi:~ $ unzip raspicam-0.1.6.zip
      pi@raspberrypi:~ $ cd raspicam-0.1.6
      pi@raspberrypi:~/raspicam-0.1.6 $ mkdir build
      pi@raspberrypi:~/raspicam-0.1.6 $ cd build
      pi@raspberrypi:~/raspicam-0.1.6/build $ cmake ..
      이대로 진행했고 설치가 완료됐습니다.
      pi@raspberrypi:~/raspicam_example_with_opencv/build $ ls
      를 진행했을때,
      CMakeCadhe.txt CMakeFiles CMakeLists.txt main.cpp라는 파일들이 뜨고
      cmake_install.cmake와 Makefile이 생성되지않아서 make에서 이런오류가 뜨는것같은데 이유를 알지못해 도움을 요청드립니다 ㅜ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.16 16:14 신고

      1-4에 있는 명령도 했나요?

  15. CSI_SS 2019.05.20 19:30

    혹시 노인분들 고독사 방지해서 작품을 만들고 있는데 영상처리를 이용하여 노인들의 인체감지, 위험한걸 알려주는 LED램프, 딥러닝에 관해서 코드를 물어봐도 될까요?? ㅠㅠㅠ 제발 도와주세요

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.20 19:42 신고

      너무 광범위해서..저도 힘듭니다..;;;

    • CSI_SS 2019.05.20 19:50

      조금이라도 도움을 얻을 수 있을까요?? ㅠㅠ 어떤식으로 헤결하는게 제일 좋을까요 ??? ㅠㅠㅠㅠ 도와주시면 정말 감사하겠습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.20 19:54 신고

      해본게 아니라....잘 모르지만...
      아래처럼 하면 어떨까 싶네요..

      심장박동에 문제가 있는지 여부를 알 수 있는 솔루션을 만드는게 더 나을 듯합니다..

    • CSI_SS 2019.05.20 20:00

      감사합니다. 혹시 심장박동센서는 OPEN CV랑 파이썬 코드로 연관돼서 할려고하는데 코드자체를 심장박동수가 어떤 특정숫자보다 크다해서 위험을 알리는 솔루션이 좋다고 말씀하신거죠??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.20 20:11 신고

      네.. OpenCV보다는 심장박동센서를 이용하는게 좋을듯합니다..

    • CSI_SS 2019.05.20 20:17

      먼저 알려주셔서 너무 감사합니다.혹시 심장박동센서를 이용하라고 하셨는데 어떤식으로 진행하면 될지 물어봐도 될까요?? ㅠㅠㅠ 저희가 고민많이하다가 도저히 감이 안잡혀서 여쭈어보고있는데 ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.20 20:34 신고

      아두이노를 사용하는게 좋을듯합니다..

      구글에서 아두이노 심장 박동으로 검색해보세요..

    • CSI_SS 2019.05.20 20:56

      저희가 ㅠㅠㅠ 아두이노를 쓰면 안돼서 혹시 라즈베리파이로 가능하지 않을까요???

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.20 21:46 신고

      예제들이 대부분 아두이노 위주인듯하군요..

      아두이노로 센서의 값을 받아 온 후..

      값을 라즈베리파이로 전달하고

      라즈베리파이에서 상태를 LCD로 보여주거나 스마트폰, 서버로 전송하면 되지 않을까 싶습니다.

    • CSI_SS 2019.05.21 18:35

      라즈베리파이에서 딥러닝이나 인체감지센서 몸 전체의 감지 카메라를 통해 구현할수 있도록 할려면 알고리즘이나 소스 도움 받을 수 있을까요?? ㅠㅠㅠ
      정말 부탁드리겠습니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.21 18:37 신고

      안해본 부분이라 잘 모릅니다..^^;;

    • CSI_SS 2019.05.21 20:02

      네 ㅠㅠ 감사드립니다.

    • CSI_SS 2019.05.21 20:28

      혹시
      1. 객체추적을 이용하여 문의 출입판단
      2. 색상검출을 이용하여 창문 불빛판단

      여기에 대해서 피드백 받을 수 있을까요??? ㅠㅠㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2019.05.21 20:49 신고

      1. 인체 감지를 사용하는게 더 정확합니다..

      2. 색상기반은 조명의 영향을 많이 받기 때문에 피하는 것이 좋습니다.

  16. 2019.05.28 22:57

    비밀댓글입니다

  17. 여기서 막힘 ㅜㅜ 2020.02.18 22:50

    안녕하세요 설치도중 막힘으로 문의 드립니다.

    ~/raspicam_example_with_opencv/build $ cmake ..
    명령 실행부분에서

    -- The C compiler identification is GNU 8.3.0
    -- The CXX compiler identification is GNU 8.3.0
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    CMake Error at CMakeLists.txt:4 (find_package):
    By not providing "Findraspicam.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "raspicam",
    but CMake did not find one.

    Could not find a package configuration file provided by "raspicam" with any
    of the following names:

    raspicamConfig.cmake
    raspicam-config.cmake

    Add the installation prefix of "raspicam" to CMAKE_PREFIX_PATH or set
    "raspicam_DIR" to a directory containing one of the above files. If
    "raspicam" provides a separate development package or SDK, be sure it has
    been installed.


    -- Configuring incomplete, errors occurred!
    See also "/home/pi/raspicam_example_with_opencv/build/CMakeFiles/CMakeOutput.log".

    이렇게 뜨면서 화일한개 폴더 한개만 생성이 되더군요. 그래서 make도 실행 안되고 막막합니다.

    도움요청 드립니다. 감사합니다.

  18. 김수환 2020.05.16 18:22

    pi@raspberrypi:~/raspicam-0.1.6/build $ cmake .. 에서 진행했는데 오류가 났습니다.

    첨에 opencv를 4버젼 최신버젼으로 했다가 안되서 3.4.4 버젼으로 깔았습니다.

    그리고 raspicam 를 최신버젼 0.1.8로 했습니다. 0.1.6 버젼도 안되서...

    CMake Error at /usr/local/lib/cmake/opencv4/OpenCVModules.cmake:403 (message):

    The imported target "opencv_core" references the file



    "/usr/local/lib/libopencv_core.so.4.1.2"



    but this file does not exist. Possible reasons include:



    * The file was deleted, renamed, or moved to another location.



    * An install or uninstall procedure did not complete successfully.



    * The installation package was faulty and contained



    "/usr/local/lib/cmake/opencv4/OpenCVModules.cmake"



    but not all the files it references.

    pi@raspberrypi:~/raspicam-0.1.6/build $ cmake

    Call Stack (most recent call first):

    /usr/local/lib/cmake/opencv4/OpenCVConfig.cmake:126 (include)

    CMakeLists.txt:37 (FIND_PACKAGE)





    -- Configuring incomplete, errors occurred!

    See also "/home/pi/raspicam-0.1.8/build/CMakeFiles/CMakeOutput.log".

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.16 18:24 신고

      opencv4가 삭제안된 상태에서 진행해서 cmake에서 현재 opencv를 인식한듯합니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.16 18:25 신고

      가능하면 라즈비안을 재 설치해서 하는게 좋을듯합니다. 여의치않으면 opencv4를 지우면 opencv3로 인식될듯합니다

    • 김수환 2020.05.16 19:45

      sd카드를 포맷하라는거죠?
      그리고 라즈베리파이4로 했는데 상관업나요?
      또 open4버젼 사용하지 말라고 해서 3.4.4버젼 하고 있는데 괜찬나요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.05.16 19:53 신고

      네 sd카드 포맷하고 라즈비안 다시 설치하면 될듯합니다. OpenCV 3를 사용하면 됩니다

  19. 2020.06.03 21:48

    비밀댓글입니다

  20. 2020.06.03 21:51

    비밀댓글입니다

  21. 미정 2020.07.02 20:59

    혹시 opencv 4.2.0 버전에서 라즈베리 파이 카메라 프로그램을 돌리는 방법은 없을까요??
    그리고 저는 ubuntu를 사용하고 있는데 문제가 없을지 궁금합니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.02 21:01 신고

      아래 포스트를 참고해 보세요.
      우분투에서도 별문제 없을 듯합니다.


      Raspberry Pi Camera Module( pi camera )를 위해 /dev/video0 생성하는 방법
      https://webnautes.tistory.com/1192

    • 미정 2020.07.02 21:05

      아래 있는 포스트를 따라 해보았는데
      vcgencmd get_camera를 치니
      vcgencmd : command not found가 나옵니다

+ Recent posts